LeetCode-1013. 将数组分成和相等的三个部分
程序员文章站
2022-06-10 22:26:49
...
这是我做过的一个题,我把它分享给你们:
这是原文链接:https://leetcode-cn.com/problems/partition-array-into-three-parts-with-equal-sum/
如果感觉我做的还行的话,记得点赞。
解题思路:
他让分成三部分,且每一部分大小相等,那不就意味着是,每一部分都等于总大小的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;
}
}
我今天的分享就到这里,谢谢观看。
推荐阅读
-
利用Java将2019拆分成三个素数平方和的方法实例
-
将数组分成三个和相等的部分的题解
-
LeetCode-1013. 将数组分成和相等的三个部分
-
HTML:将body按px分成上下两部分而不产生滚轴,并且两部分高度的和等于body的高度。_html/css_WEB-ITnose
-
HTML:将body按px分成上下两部分而不产生滚轴,并且两部分高度的和等于body的高度。_html/css_WEB-ITnose
-
利用Java将2019拆分成三个素数平方和的方法实例
-
将数组分成三个和相等的部分的题解
-
将1、2、3、……、n这n个连续自然数分成g组,使每组的和相等。g组中个数最多的一组有几个?...
-
编写一个程序,将一个包含有 30 个字数据的数组 M 分成两个数组:奇数数组 ODD 和偶数数组 EVEN, 并把这两个数组中元素的个数以二进制形式显示出来(不能使用 DIV/IDIV 指令)。
-
编写程序:将一个包含有20个有符号数据的数组arrayM分成两个数组,正数数组arrayP 和负数数组arrayN,并分别把两个数组中的数据个数显示出来