LeetCode-209. 長度最小的子數組

這是我做過的一個題,我把它分享給你們:

這是原文鏈接:https://leetcode-cn.com/problems/find-pivot-index/

如果感覺我做的還行的話,記得點贊。

解題思路:

這個題:

相當於左右兩邊不包括中心索引,兩部分相同,那我就假設每一個數都有可能是中心索引,

看看:總數-中心索引左邊的元素和-中心索引是否等於右邊所有元素的和,就解決了這個問題

具體步驟:

1.計算總數

2.設置一箇中心索引數,並計算他左邊的數字和

3.根據公式比較右邊是否等於左邊,等於返回中心索引角標

這道題就解決完成了,下面是我的網頁的代碼,主函數我就不寫了,要驗證的話自己編個主函數驗證下:

class Solution {
    public int pivotIndex(int[] nums) {
        int sum = 0;
        for(int num:nums){
            sum += num;
        }
        int leftSum = 0;
        int rightSum = 0;
        for(int i = 0;i < nums.length;i++){
            if(i == 0){
                leftSum = 0;
            }else{
                leftSum +=nums[i-1];
            }
            rightSum = sum - nums[i] - leftSum;
            if(rightSum == leftSum){
                return i;
            }
        }
        return -1;
    }
}

我今天的分享就到這裏,謝謝觀看。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章