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

农村电商平台发展现状如何提高网站seo排名

农村电商平台发展现状,如何提高网站seo排名,wordpress 相册功能,wordpress卡密插件给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 示例 1: 输入&#xf…

 

给定一个含有 n 个正整数的数组和一个正整数 target 。

找出该数组中满足其总和大于等于 target 的长度最小的 

子数组

 [numsl, numsl+1, ..., 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 <= 109
  • 1 <= nums.length <= 105
  • 1 <= nums[i] <= 104

 

class Solution {
public:int minSubArrayLen(int target, vector<int>& 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 = 7
  • nums = [2, 3, 1, 2, 4, 3]

初始化变量

left = 0,sum = 0,min_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] = 2sum 中减去,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] = 3sum 中减去,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] = 1sum 中减去,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] = 2sum 中减去,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] = 4sum 中减去,sum = 7 - 4 = 3left 右移一格,left = 5

遍历完成

最后得到 min_length = 2,即满足条件的最短子数组长度为 2(子数组 [4, 3] 满足条件)。

http://www.ritt.cn/news/16279.html

相关文章:

  • 中国电商建站程序关键词汇总
  • 网站模板下载 网盘百度医生在线问诊
  • 商务网站建设与管理网站推广做什么
  • 做图网站有哪些化妆品推广软文
  • 张家界简单的网站建设百度竞价点击软件奔奔
  • wordpress翻译过时了seo咨询岳阳
  • 聊城网站建设哪个好些武汉网站推广优化
  • 选择佛山网站设计网络营销ppt课件
  • wordpress悬浮搜索框北仑seo排名优化技术
  • 做微信扫码网站旅游推广赚佣金哪个平台好
  • Wordpress加720云vr南宁seo公司哪家好
  • wordpress添加快速链接武汉seo网站优化排名
  • 网站开发发布seo优化sem推广
  • 美区国区家庭共享网络优化包括
  • app制作程序长沙网络优化产品
  • 企业营销网站建设规划nba赛程排名
  • 网站建设几种语言对比搜狗搜图
  • 北京企业模板建站seo技术快速网站排名
  • 数据库网站模板关键词排名的排名优化
  • 自己开网站做职称论文可以吗湖南seo优化报价
  • 网站改版提交 百度seo优化的作用
  • 网站建设实训存在的问题网络软文是什么意思
  • 网站后台做完文章不显示sem优化技巧
  • 首都之窗yoast seo教程
  • 学做网站论坛账号免费b2b网站推广有哪些
  • 自由策划企业网站管理系统破解版免费ip地址网站
  • 做速卖通的素材有哪些网站长沙百度网站优化
  • 做笑话网站赚钱吗如何增加网站的外链
  • 上海哪家公司做网站最好今日国内新闻摘抄十条
  • java前端要学什么网站优化名词解释