码迷,mamicode.com
首页 > 编程语言 > 详细

力扣第1013题 将数组分成和相等的三部分

时间:2020-03-15 00:10:46      阅读:59      评论:0      收藏:0      [点我收藏+]

标签:art   技术   png   als   pre   vector   inf   turn   com   

力扣第1013题 将数组分成和相等的三部分

技术图片

技术图片

class Solution {
    public:
    bool canThreePartsEqualSum(vector<int>& A) {
        int sum = accumulate(A.begin(), A.end(), 0);
        if (sum % 3 != 0)
            return false;
        int temp = sum / 3;
        int len = A.size();
        int left = 0, right = len - 1;
        int leftSum = A[left], rightSum = A[right];
        while (left + 1 < right)
        {
            if (leftSum == temp && rightSum == temp)
            {
                return true;
            }
            if (leftSum != temp)
            {
                leftSum += A[++left];
            }
            if (rightSum != temp)
            {
                rightSum += A[--right];
            }
        }
        return false;
    }
};

力扣第1013题 将数组分成和相等的三部分

标签:art   技术   png   als   pre   vector   inf   turn   com   

原文地址:https://www.cnblogs.com/woodjay/p/12466315.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!