个人网站推广怎么做百度公司简介介绍
news/
2025/9/22 20:30:20/
文章来源:
个人网站推广怎么做,百度公司简介介绍,阿里巴巴网站怎么做全屏大图,做网站一定要虚拟主机吗长度最小的数组
长度最小的数组 文章目录 长度最小的数组题目描述解法暴力解法滑动窗口Java示例代码c示例代码 题目描述
给定一个含有 n 个正整数的数组和一个正整数 target 。
找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl1, ..., numsr-1, num…长度最小的数组
长度最小的数组 文章目录 长度最小的数组题目描述解法暴力解法滑动窗口Java示例代码c示例代码 题目描述
给定一个含有 n 个正整数的数组和一个正整数 target 。
找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl1, ..., numsr-1, numsr] 并返回其长度**。**如果不存在符合条件的子数组返回 0 。
示例 1
输入target 7, nums [2,3,1,2,4,3]
输出2
解释子数组 [4,3] 是该条件下的长度最小的子数组。示例 2
输入target 4, nums [1,4,4]
输出1示例 3
输入target 11, nums [1,1,1,1,1,1,1,1]
输出0解法
暴力解法 class Solution {public int minSubArrayLen(int target, int[] nums) {int result Integer.MAX_VALUE;for(int i 0; i nums.length; i){int sum 0;for(int j i; j nums.length; j){sum nums[j];if(sum target){result Math.min(result,j - i 1);break;}}}return result Integer.MAX_VALUE ? 0 : result;}
}这种做法可以很容易想到可是谁想到它… 超时了哈哈 那么下面我们看看另外一种思路。
滑动窗口
先看示例代码
Java示例代码
class Solution {public int minSubArrayLen(int target, int[] nums) {int result Integer.MAX_VALUE;int i 0;int sum 0;int length 0;for(int j 0; j nums.length; j){sum nums[j];while(sum target){length j - i 1;result Math.min(result,length);sum - nums[i];}}return result Integer.MAX_VALUE ? 0 : result;}
}下面见分析 c示例代码
class Solution
{
public:int minSubArrayLen(int target, vectorint nums){int n nums.size(), sum 0, len INT_MAX;for (int left 0, right 0; right n; right){sum nums[right]; // 进窗⼝while (sum target) // 判断{len min(len, right - left 1); // 更新结果sum - nums[left]; // 出窗⼝}}return len INT_MAX ? 0 : len;}
};
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/910275.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!