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;
    }
}

我今天的分享就到这里,谢谢观看。

发布了38 篇原创文章 · 获赞 51 · 访问量 1181

猜你喜欢

转载自blog.csdn.net/xweiwxh/article/details/104464307