8.4

作者: ziru_SUN | 来源:发表于2017-08-06 12:12 被阅读0次

    主要学了前缀和(prefix sum)的用法,还有自己创建class保存数据结构的方法

    prefix sum

    用在求subarray sum时候,前m个数的和A,前n个数的和是B,n-m的和就是B-A

    class存数据结构

    做题的时候要保存前缀和前缀和,除了用hashmap,也可以用一个自己建的class来表示

    class Pair {
        int sum;
        int index;
        public Pair(int s, int i) {
            sum = s;
            index = i;
        }
    }
    

    自创class的排序

            Arrays.sort(sums, new Comparator<Pair>() {
               public int compare(Pair a, Pair b) {
                   return a.sum - b.sum;
               } 
            });
    

    Integer.MAX_VALUE的用法

    用一个全局变量记录最小值

            int ans = Integer.MAX_VALUE;
            int[] res = new int[2]
            for (int i = 1; i <= len; i++) {
                
                if (ans > sums[i].sum - sums[i-1].sum) {
                    ans = sums[i].sum - sums[i-1].sum;
                    int[] temp = new int[]{sums[i].index - 1, sums[i - 1].index - 1};
                    Arrays.sort(temp);
                    res[0] = temp[0] + 1;
                    res[1] = temp[1];
                }
            }
    

    linkedlist的快慢指针方法

    相关文章

      网友评论

          本文标题:8.4

          本文链接:https://www.haomeiwen.com/subject/obhwlxtx.html