题解 | #牛群喂食计划#

牛群喂食计划

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;
    }
};

全部评论

相关推荐

点赞 评论 收藏
分享
10-09 00:50
已编辑
长江大学 算法工程师
不期而遇的夏天:1.同学你面试评价不错,概率很大,请耐心等待;2.你的排名比较靠前,不要担心,耐心等待;3.问题不大,正在审批,不要着急签其他公司,等等我们!4.预计9月中下旬,安心过节;5.下周会有结果,请耐心等待下;6.可能国庆节前后,一有结果我马上通知你;7.预计10月中旬,再坚持一下;8.正在走流程,就这两天了;9.同学,结果我也不知道,你如果查到了也告诉我一声;10.同学你出线不明朗,建议签其他公司保底!11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务