代码拉取完成,页面将自动刷新
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;
}
};
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。