8.4

主要學了前綴和(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的快慢指針方法

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容