s2巅峰青铜第三题java代码过不去

    public long tree2 (int k, int[] a) {
        // write code here
        long sum=0;
        for(int i=0;i<a.length;i++){
            for(int x=1;x<=k;x++){
                int s=i*k+x;
                if(s>=a.length){
                    break;
                }else{
                    sum+=(a[i]^a[s]);
                }
            }
        }
        //System.out.print(sum);
        return sum;
    }

就这个代码我改成C++就过了,只改了length成size()和long改成long long,邪门了。java过了90%。
大佬能不能帮看看为啥没过。
全部评论
我也90%, 应该是超时了。  你把你那个break换成return sum;  应该就过了。。 这么写复杂度是O(n*k)的
点赞 回复 分享
发布于 2020-11-20 21:53

相关推荐

点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务