力扣上的代码怎么运行

我今天第一次在力扣上刷java题,不太懂,为什么标准的代码,放在编译器上无法运行

你本地运行要写个main 方法,调用 你在leetcode上编写的方法,然后去运行这个main方法

贴出你的错误信息呢,什么代码,怎么无法运行。

参考GPT和自己的思路:

可能是因为你没有正确地复制和粘贴代码,或者你可能没有安装Java运行环境。你可以尝试将代码复制到本地的Code编辑器中,并尝试运行它,或者确认你已经正确地安装了Java运行环境。另外,你可以在力扣上查找常见的Java编译或运行错误,并按照它们的指导进行操作。希望这能够帮助你解决问题。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/358274
  • 你也可以参考下这篇文章:你写的代码编译时是否经常报错?来看看这篇文章帮你解决大部分问题。(Java中的异常)
  • 除此之外, 这篇博客: 判定字符是否唯一Java版的三种解法【数组,位运算,双层循环】(力扣)中的 测试代码 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    完整代码(含测试过程):

    package com.Keafmd.day0104;
    
    /**
     * Keafmd
     *
     * @ClassName: IsUnique
     * @Description: 判定字符是否唯一
     * @author: 牛哄哄的柯南
     * @date: 2021-01-04 21:21
     */
    public class IsUnique {
        public static void main(String[] args) {
            Solution0104 solution = new Solution0104();
            String s1="abc";
            String s2="leetcode";
            String s3="Aabc";
            boolean result = solution.isUnique(s3);
            System.out.println(result);
    
            int a= 0|2; //2
            int b= 2&2; //2
            //System.out.println(a);
            //System.out.println(b);
    
        }
    }
    //数组求解
    class Solution0104 {
        public boolean isUnique(String astr) {
    
            // 如果字符串长度超过了52(大小写加一起总共52),肯定是有重复的啊,直接return false
            if(astr.length()>52)
                return false;
            //定义一个数组,来存放a-z,A-Z的个数
            //97+26=123
            int [] a = new int[125];
            //初始化一下
            for (int i = 0; i < 125; i++) {
                a[i]=0;
            }
            //遍历一遍,统计个数
            for (int i = 0; i < astr.length(); i++) {
                int k=0;
                k=astr.charAt(i);
                a[k]++;
            }
            //a[i]>1就代表同一个字符出现了两次,return false
            for (int i = 0; i < 125; i++) {
                if(a[i]>1)
                    return false;
            }
    
            return true;
        }
    }
    
    //位运算求解
    class Solution01041 {
        public boolean isUnique(String astr) {
    
           long bits =0 ;
           int len = astr.length();
            for (int i = 0; i < len; i++) {
                int move = astr.charAt(i)-'A';
                // 0010&0010=0010 ,!=0就是 bits的某个位置存在的字符和当前这个相同了,就代表有重复的
                if((bits&(1L<<move))!=0){
                    //有重复的,直接返回false
                    return false;
                }else{
                    //标记当前位置有字符
                    bits |= (1L<<move);
                }
            }
            return true;
        }
    }
    
    //双层循环求解
    class Solution01042 {
        public boolean isUnique(String astr) {
    
            for (int i = 0; i < astr.length(); i++) {
                for (int j = i+1; j < astr.length(); j++) {
                    //存在相同的字符
                    if(astr.charAt(i)==astr.charAt(j))
                        return false;
                }
            }
            return true;
        }
    }
    
    

    写作不易,看完如果对你有帮助,感谢点赞支持!
    如果你是电脑端,看到右下角的 “一键三连” 了吗,没错点它[哈哈]

    在这里插入图片描述
    加油!

    共同努力!

    Keafmd


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^