题解 | #牛群保卫战#

牛群保卫战

https://www.nowcoder.com/practice/c836930db162418f87874ac5ba84726b

知识点

双指针

解题思路

首先,我们定义两个指针start和end,分别表示滑动窗口的起始位置和结束位置。我们将start和end都初始化为0,并且将当前窗口的和初始化为0。

然后我们开始遍历数组。对于每一个牛,我们将其加入当前窗口之和,并且将end指针向右移动一位。

如果当前窗口之和大于等于目标战斗力值,我们更新满足条件的最短连续牛群的长度,并尝试将start指针向右移动一位,寻找更短的满足条件的连续牛群。然后继续遍历下一个牛。

如果当前窗口之和小于目标值,我们继续将end指针向右移动一位,扩大窗口。

当遍历完所有的牛后,我们可以得到满足条件的最短连续牛群的长度。如果不存在这样的连续牛群,返回0。

Java题解

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param target int整型
     * @param nums int整型一维数组
     * @return int整型
     */
    public int findMinSubarrayLength (int target, int[] nums) {
        // write code here
        int start = 0;
        int end = 0;
        int sum = 0;
        int ans = Integer.MAX_VALUE;  // 满足条件的最短连续牛群的长度

        while (end < nums.length) {
            // 将当前牛的战斗力值加入当前窗口的战斗力之和
            sum += nums[end];
            // 判断当前窗口是否满足条件
            while (sum >= target) {
                // 更新满足条件的最短连续牛群的长度
                ans = Math.min(ans, end - start + 1);
                // 将start指针向右移动一位,寻找更短的满足条件的连续牛群
                sum -= nums[start];
                start++;
            }
            // 将end指针向右移动一位,扩大窗口
            end++;
        }
        // 如果不存在满足条件的连续牛群,返回0
        if (ans == Integer.MAX_VALUE) {
            return 0;
        }
        return ans;
    }
}

全部评论

相关推荐

头像
03-14 11:23
已编辑
北京邮电大学 管理咨询
211勇闯初创小公司头破血流系列3这件事不是发生在我身上的,但前同事们参与创作的积极性空前高涨,为了习惯,还是都采用第一人称的视角来看这出大戏。有一天老板在我们的眼皮底下接了一个电话,最终敲定了去北京出差的时间,下周一。他得意洋洋地说,这单下来保底五百万的流水,如果成了,我们都能得到五位数的提成。这对于一群刚上班的人来说是天大的诱惑,我们经历了周末的无偿加班,把他去北京所需要的文件都准备好了。只是在去北京的周一当天,老板睡过头了。整个上午都没见他的踪影,给他发文件也不会,打电话问问题也不接,直到中午才姗姗来迟。当然,这只是拉开了这场恐怖出差的序幕。只见他来了也不紧不慢的,手指在办公室转了一圈,...
姜大力:补充: 1.五百万的单子根本没有五百万,只是过去展示拼装的产品并简单考察。该项目只是竞标,项目内容是商业街区改造; 2.决策是当天上午10点半左右老板珊珊来迟后突发奇想去北京,中午1点在催促下着急出发,没有任何出差补助; 3.出发之前已经知道进京证不好使了,但还是执意要开车去; 4.实习生实打实连续开了***小事车,非常辛苦,工资在转正后只有两千五; (有疑问会继续补充)
点赞 评论 收藏
分享
神哥了不得:(非引流)先把你的个人信息打码一下吧,看了几万份的简历,让我不知道该怎么说
点赞 评论 收藏
分享
永不遗忘:才这么点算什么拉黑,我初筛连着挂几十次了,最后还是能进面
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务