首页 > 贝壳第三题思路求解
头像
va转行
编辑于 2021-08-14 12:14
+ 关注

贝壳第三题思路求解

这个思路为什么会只过10%呢,想了半天也想不出来,求大佬指教

 public static long section (int[] a, int t) {
        if(t==0) return 0;
        return subSection(a,t,0,a.length-1);
    }



    public static long subSection(int[] nums,int t,int left,int right){
        if(left>right) return 0;
        if(left==right) return 0;

        HashMap<Integer,Integer> valueIndexMap =new HashMap<>();

        for (int i = left; i <= right; i++) {
            if(valueIndexMap.containsKey(nums[i])){
                int index0 = valueIndexMap.get(nums[i]);
                int index1 = i;
                return subSection(nums,t,left,index1-1)+subSection(nums,t,index0+1,right);
            }
            valueIndexMap.put(t^nums[i],i);
        }
        //没有找到任何亦或
        long size = right-left+1;
        //(k-1)+...+2+1 =  k(k-1)/2
        return size*(size-1)/2;



    }



全部评论

(1) 回帖
加载中...
话题 回帖

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐