如何使用java查看长度最小的子数组

发布时间:2022-01-17 14:28:13 作者:清风
来源:亿速云 阅读:175

这篇文章主要为大家展示了如何使用java查看长度最小的子数组,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“如何使用java查看长度最小的子数组”这篇文章吧。

给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。

示例: 

输入: 
输出: 2
解释: 子数组  是该条件下的长度最小的连续子数组。

答案:

 1public int minSubArrayLen(int s, int[] a) {
2    if (a == null || a.length == 0)
3        return 0;
4    int i = 0, j = 0, sum = 0, min = Integer.MAX_VALUE;
5    while (j < a.length) {
6        sum += a[j++];
7        while (sum >= s) {
8            min = Math.min(min, j - i);
9            sum -= a[i++];
10        }
11    }
12    return min == Integer.MAX_VALUE ? 0 : min;
13}

解析:

第一个while循环把每一个元素相加,然后第二个while循环在判断,如果相加结果sum大于等于指定的s,然后再减去最前面的元素再判断,并记录最小值min。记住这里说的是连续的子数组。

Java可以用来干什么

Java主要应用于:1. web开发;2. Android开发;3. 客户端开发;4. 网页开发;5. 企业级应用开发;6. Java大数据开发;7.游戏开发等。

以上就是关于“如何使用java查看长度最小的子数组”的内容,如果该文章对您有所帮助并觉得写得不错,劳请分享给您的好友一起学习新知识,若想了解更多相关知识内容,请多多关注亿速云行业资讯频道。

推荐阅读:
  1. Server 2019域控更改密码的复杂性+密码最小长度
  2. 连续子数组的最大和

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java

上一篇:java如何求组合总和

下一篇:vue如何用Echarts画柱状图

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》