欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

LeetCode-1013. 将数组分成和相等的三个部分

程序员文章站 2022-06-10 22:26:49
...

这是我做过的一个题,我把它分享给你们:

这是原文链接:https://leetcode-cn.com/problems/partition-array-into-three-parts-with-equal-sum/

如果感觉我做的还行的话,记得点赞。

LeetCode-1013. 将数组分成和相等的三个部分

解题思路:

他让分成三部分,且每一部分大小相等,那不就意味着是,每一部分都等于总大小的1/3,如果数字加下去不等于这个值就不是,等于就是,这个题就解决了

这个题分为下面几步

1.定义个全局变量,用来记录一共几组,然后把总数算出来/3

2.从数组开头开始,第一个数依次向后加,知道加到总数的1/3,记录组数++

3.判断是否到最后共三组,如果是输出true

这道题就解决完成了,下面是我的网页的代码,主函数我就不写了,要验证的话自己编个主函数验证下:

class Solution {
    public boolean canThreePartsEqualSum(int[] A) {
        int sum = 0;
        for(int num:A){
            sum += num;
        }
        int key = sum/3;
        int group = 0;
        for(int i = 0 ;i < A.length;i++){
            key -= A[i];
            if(key == 0){
                group ++;
                key = sum / 3;
            } 
        }
        return group == 3;
    }
}

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

相关标签: Leetcode习题总结