题解 | #牛群喂食计划#

牛群喂食计划

https://www.nowcoder.com/practice/7da784c2befa4c2aaef46e2e37c23aee

class Solution {
  public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param nums int整型vector
     * @param k int整型
     * @return int整型
     */
    int numOfFeedPlans(vector<int>& nums, int k) {
        int beg, end, sum;
        beg = end = 0;
        sum = nums[0];
        int n = nums.size();
        int ans = 0;
        while (end < n) {
            if (sum == k) {
                ans++;
                while(end<n-1&&nums[end+1]==0)
                {
                    ans++;
                    end++;
                }
                sum -= nums[beg];
                beg++;
                if (beg > end) {
                    end = beg;
                    sum = nums[beg];
                    continue;
                }
                while(end>beg&&nums[end]==0)
                {
                    end--;
                }
            }
            if (sum > k) {
                sum -= nums[beg];
                beg++;
                if (beg > end) {
                    end = beg;
                    sum = nums[beg];
                    continue;
                }
            }
            if(sum<k)
            {
                sum+=nums[++end];
            }
        }
        return ans;
    }
};

全部评论

相关推荐

不愿透露姓名的神秘牛友
04-25 10:45
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务