1 Star 0 Fork 0

MetaverseMobile/leetcode

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
1013_将数组分成和相等的三个部分.cpp 1.18 KB
一键复制 编辑 原始数据 按行查看 历史
class Solution {
public:
bool canThreePartsEqualSum(vector<int>& arr) {
int left;
int total = accumulate(arr.begin(), arr.end(), 0);
int target = 0;
int dTarget = total;
for (left = 0; left < arr.size(); left++) {
target += arr[left];
dTarget -= arr[left];
if (target * 2 == dTarget)
break;
}
if (target * 2 != dTarget)
return false;
// cout << target << " : " << dTarget << endl;
int right;
int midPart = 0;
int rightPart = dTarget;
for (right = left + 1; right < arr.size() - 1; right++) {
midPart += arr[right];
rightPart -= arr[right];
if (rightPart == midPart) {
// cout << right << " : " << midPart << " : " << rightPart << endl;
return true;
}
}
return false;
}
};
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/MetaverseMobile/leetcode.git
[email protected]:MetaverseMobile/leetcode.git
MetaverseMobile
leetcode
leetcode
main

搜索帮助