这篇文章主要为大家展示了如何使用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主要应用于:1. web开发;2. Android开发;3. 客户端开发;4. 网页开发;5. 企业级应用开发;6. Java大数据开发;7.游戏开发等。
以上就是关于“如何使用java查看长度最小的子数组”的内容,如果该文章对您有所帮助并觉得写得不错,劳请分享给您的好友一起学习新知识,若想了解更多相关知识内容,请多多关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。