当前位置: 首页 > news >正文

建网站的好处请人做网站交易平台

建网站的好处,请人做网站交易平台,企业邮箱格式怎么注册,宁波医院网站建设给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl1, ..., numsr-1, numsr] #xff0c;并返回其长度。如果不存在符合条件的子数组#xff0c;返回 0 。 示例 1#xff1a; 输入#xf…  给定一个含有 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提示 1 target 1091 nums.length 1051 nums[i] 104 class Solution { public:int minSubArrayLen(int target, vectorint nums) {int left 0, sum 0;int n nums.size();int min_length INT_MAX;for (int right 0; right n; right) {sum nums[right];while (sum target) {min_length min(min_length, right - left 1);sum - nums[left];left;}}return min_length INT_MAX ? 0 : min_length;} };由于子数组 是数组中连续的 非空 元素序列。这意味着在一个数组中选择的元素必须彼此相邻才能构成一个子数组。 滑动窗口是一种在数组或字符串等线性数据结构上高效地解决子区间问题的方法。问题的核心在于找到一个和大于等于 target 的最短连续子数组。为了高效地找到这个子数组我们可以使用滑动窗口 初始化定义 left 指针为窗口的左边界right 指针为窗口的右边界。用 sum 变量记录窗口内元素的和用 min_length 变量存储满足条件的最小子数组长度。 用 right 指针遍历数组将每个元素值加入 sum。这样做的目的是逐步扩大窗口尝试找到满足条件sum target的子数组 当 sum 大于等于 target 时说明当前窗口已经符合条件。此时更新 min_length 为了找到更小的满足条件的子数组长度我们尝试通过增加 left 来缩小窗口。将 nums[left] 从 sum 中减去然后将 left 向右移动一格缩小窗口范围。不断重复该过程直到 sum 小于 target 为止。 遍历结束后min_length 会记录符合条件的最小长度。如果 min_length 仍为初始化值说明没有满足条件的子数组返回 0 实例 target 7nums [2, 3, 1, 2, 4, 3] 初始化变量 left 0sum 0min_length INT_MAX 遍历数组右指针 right 从 0 到 nums.size() - 1 第一步right 0 将 nums[0] 2 加到 sum 中sum 2。sum target不满足条件继续扩展窗口。 第二步right 1 将 nums[1] 3 加到 sum 中sum 2 3 5。sum target继续扩展窗口。 第三步right 2 将 nums[2] 1 加到 sum 中sum 5 1 6。sum target继续扩展窗口。 第四步right 3 将 nums[3] 2 加到 sum 中sum 6 2 8。sum target窗口满足条件计算当前窗口长度 right - left 1 3 - 0 1 4。更新 min_length min(INT_MAX, 4) 4。尝试收缩窗口将 nums[left] 2 从 sum 中减去sum 8 - 2 6然后 left 向右移动一格left 1。 第五步right 3left 1 此时 sum 6 target不满足条件继续扩展窗口。 第六步right 4 将 nums[4] 4 加到 sum 中sum 6 4 10。sum target窗口满足条件计算当前窗口长度 right - left 1 4 - 1 1 4。min_length 保持不变因为已经是 4。尝试收缩窗口将 nums[left] 3 从 sum 中减去sum 10 - 3 7left 右移一格left 2。 第七步right 4left 2 sum target继续满足条件计算当前窗口长度 right - left 1 4 - 2 1 3。更新 min_length min(4, 3) 3。尝试收缩窗口将 nums[left] 1 从 sum 中减去sum 7 - 1 6left 右移一格left 3。 第八步right 4left 3 此时 sum 6 target窗口不满足条件继续扩展窗口。 第九步right 5 将 nums[5] 3 加到 sum 中sum 6 3 9。sum target窗口满足条件计算当前窗口长度 right - left 1 5 - 3 1 3。min_length 保持不变因为已经是 3。尝试收缩窗口将 nums[left] 2 从 sum 中减去sum 9 - 2 7left 右移一格left 4。 第十步right 5left 4 sum target继续满足条件计算当前窗口长度 right - left 1 5 - 4 1 2。更新 min_length min(3, 2) 2。尝试收缩窗口将 nums[left] 4 从 sum 中减去sum 7 - 4 3left 右移一格left 5。 遍历完成 最后得到 min_length 2即满足条件的最短子数组长度为 2子数组 [4, 3] 满足条件。
http://www.laogonggong.com/news/108577.html

相关文章:

  • 威海网站制作怎么样茶叶网站模板免费下载
  • GTA5房产网站建设中汕头企业网站建设模板
  • 网站开发外包费用的会计分录天河网站建设哪家强
  • 深圳网站建设黄浦网络-技术差在哪个网站做推广好
  • 单页网站定义手机wap网页设计
  • 网站站长统计怎么做重庆电子商务网站
  • 做网站怎么写代码高端网站
  • 如何建网站商城如何通过网络推广产品
  • 长沙医院网站建设做机电预算的网站
  • 单位网站建设有机房吗wordpress你没有权限
  • 南山网站多少钱wordpress怎么设置404
  • 山西做杂粮的网站酒类营销网站
  • 深圳网站设计南京番禺区移动端网站制作
  • 专业苏州网站建设公司排名个人做网站下载网上图可以吗
  • 网页制作需要会哪些网站优化解决方案
  • 德州网站建设费用哈尔滨seo排名优化免费咨询
  • iis上做的网站外网怎么访问不了建设网站一般要多久到账
  • 网站怎么做二维码链接才艺多网站建设平台
  • 手机网站建设哪儿好大数据工程技术
  • 广州专业网站改版领军企业做网站云服务器装系统
  • 牛商网做网站有没有做卡商的网站
  • 淄博企业网站建设价格企业网站建设的材料
  • 网站开发 税率html5浅蓝色网站设计公司dede模板
  • 湖南营销型企业网站开发百度问问
  • 查网站 备案信息湘潭网站建设湘潭振企专业
  • php网站建设难点广州网站系统开发
  • 淮南市重点工程建设管理局网站推广策略包括哪些方面
  • 网站域名备案认证建筑公司名字起名大全2020最新
  • 建站之星好不好大连网站开发公司电话
  • 广州生物科技网站建设公司公众号怎么做小程序