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

兰州旅游攻略温州seo排名公司

兰州旅游攻略,温州seo排名公司,怎么用css做响应式网站,wordpress域名改了每日一题(LeetCode)----数组–长度最小的子数组 1.题目( 209.长度最小的子数组) 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl1, ..., numsr-1, numsr] &…

每日一题(LeetCode)----数组–长度最小的子数组

1.题目( 209.长度最小的子数组)

给定一个含有 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] <= 105

进阶:

  • 如果你已经实现 O(n) 时间复杂度的解法, 请尝试设计一个 O(n log(n)) 时间复杂度的解法。

2.解题思路

思路一: 暴力法

暴力法是最直观的方法。初始化子数组的最小长度为无穷大,枚举数组 nums 中的每个下标作为子数组的开始下标,对于每个开始下标 iii,需要找到大于或等于 iii 的最小下标 j,使得从 nums[i] 到 nums[j] 的元素和大于或等于 s,并更新子数组的最小长度(此时子数组的长度是 j−i+1j-i+1j−i+1)。

原作者:力扣官方题解
链接:https://leetcode.cn/problems/backspace-string-compare/

方法二:前缀和 + 二分查找

方法二的时间复杂度是 O(n2),因为在确定每个子数组的开始下标后,找到长度最小的子数组需要 O(n) 的时间。如果使用二分查找,则可以将时间优化到 O(log⁡n)

为了使用二分查找,需要额外创建一个数组 sums 用于存储数组 nums 的前缀和,其中 sums[i]\text{sums}[i]sums[i] 表示从 nums[0] 到 nums[i−1]的元素和。得到前缀和之后,对于每个开始下标 iii,可通过二分查找得到大于或等于 iii 的最小下标 bound,使得 sums[bound]−sums[i−1]≥s,并更新子数组的最小长度(此时子数组的长度是 bound−(i−1))。

因为这道题保证了数组中每个元素都为正,所以前缀和一定是递增的,这一点保证了二分的正确性。如果题目没有说明数组中每个元素都为正,这里就不能使用二分来查找这个位置了。

这里最开始没有看懂,看了力扣上这位网友的评论明白了很多

原作者:力扣官方题解
链接:https://leetcode.cn/problems/backspace-string-compare/

在这里插入图片描述

思路三: 滑动窗口

其实滑动窗口就是双指针,我们定义两个指针分别表示滑动窗口的起始位置和结束位置,滑动窗口就是子数组,以此我们就可以求出子数组的总和,看是否符合条件了

初始时滑动窗口的起始位置和结束位置都是数组的首元素,然后我们向右移动滑动窗口的结束位置,相当于是向右遍历一遍数组,每向右移动一位我们都看一下滑动窗口的总和是否大于等于目标值,如果大于我们就计算一下当前子数组长度,然后更新一下答案,之后让滑动窗口的起始位置向后移动一位,直到滑动窗口的总和下于目标值了,我们继续向右遍历,直到遍历结束,得到最终的答案

3.写出代码

思路一的代码:

class Solution {
public:int minSubArrayLen(int s, vector<int>& nums) {int n = nums.size();if (n == 0) {return 0;}int ans = INT_MAX;for (int i = 0; i < n; i++) {int sum = 0;for (int j = i; j < n; j++) {sum += nums[j];if (sum >= s) {ans = min(ans, j - i + 1);break;}}}return ans == INT_MAX ? 0 : ans;}
};
原作者:力扣官方题解
链接:https://leetcode.cn/problems/backspace-string-compare/

思路二的代码:

class Solution {
public:int minSubArrayLen(int target, vector<int>& nums) {int length=nums.size();vector<int> sum(length+1,0);int ans=0x7fffffff;//得到前缀和for(int i=1;i<=length;i++){sum[i]=sum[i-1]+nums[i-1];}//遍历得到答案for(int i=1;i<=length;i++){int temp=target+sum[i-1];int bound=lower_bound(sum.begin(),sum.end(),temp)-sum.begin();//注意:lower_bound函数的返回值是第一个大于等于目标值的地址,所以我们这里减去首元素的地址就可以获得第一个大于等于目标值的下标了if(bound<length+1){ans=min(ans,bound-(i-1));}}if(ans==0x7fffffff){return 0;}else{return ans;}}
};

思路三的代码:

class Solution {
public:int minSubArrayLen(int target, vector<int>& nums) {int length=nums.size();int i=0;int sum=0;int result=0x7fffffff;for(int j=0;j<length;j++){sum+=nums[j];while(sum>=target){result=min(result,j-i+1);sum-=nums[i];i++;}}if(result==0x7fffffff){return 0;}else{return result;}}
};

文章转载自:
http://dinncopaty.wbqt.cn
http://dinncofoveole.wbqt.cn
http://dinncosiphunculated.wbqt.cn
http://dinncotrojan.wbqt.cn
http://dinncohandsomely.wbqt.cn
http://dinncointurned.wbqt.cn
http://dinncocrankpin.wbqt.cn
http://dinncosis.wbqt.cn
http://dinncofelipa.wbqt.cn
http://dinncoaphorize.wbqt.cn
http://dinncoradiomicrometer.wbqt.cn
http://dinncosynthetical.wbqt.cn
http://dinncomonadic.wbqt.cn
http://dinncokeratosulphate.wbqt.cn
http://dinncodrake.wbqt.cn
http://dinncoyeh.wbqt.cn
http://dinncoturbinoid.wbqt.cn
http://dinncosamel.wbqt.cn
http://dinncoschoolmiss.wbqt.cn
http://dinncoabyssalbenthic.wbqt.cn
http://dinncopresumptuous.wbqt.cn
http://dinncocontranatant.wbqt.cn
http://dinncothallus.wbqt.cn
http://dinncodolt.wbqt.cn
http://dinncopace.wbqt.cn
http://dinncophycoerythrin.wbqt.cn
http://dinncoremuda.wbqt.cn
http://dinncoshadowgraph.wbqt.cn
http://dinncooutflung.wbqt.cn
http://dinncoworsted.wbqt.cn
http://dinncodistinguishability.wbqt.cn
http://dinncoiniquity.wbqt.cn
http://dinncohumanitas.wbqt.cn
http://dinncopyramid.wbqt.cn
http://dinncogasproof.wbqt.cn
http://dinncogluon.wbqt.cn
http://dinncoarmillary.wbqt.cn
http://dinncobctv.wbqt.cn
http://dinncowanting.wbqt.cn
http://dinncoisohume.wbqt.cn
http://dinncospherically.wbqt.cn
http://dinncosdcd.wbqt.cn
http://dinncocomprehensibly.wbqt.cn
http://dinncoprocuratorate.wbqt.cn
http://dinncoappeared.wbqt.cn
http://dinncoprejudication.wbqt.cn
http://dinncotelltale.wbqt.cn
http://dinncohypalgesia.wbqt.cn
http://dinncorupture.wbqt.cn
http://dinncometalliferous.wbqt.cn
http://dinncohephzibah.wbqt.cn
http://dinncofoamily.wbqt.cn
http://dinncocalcifuge.wbqt.cn
http://dinncoacuate.wbqt.cn
http://dinncohypesthesia.wbqt.cn
http://dinncolintwhite.wbqt.cn
http://dinncoloverboy.wbqt.cn
http://dinncothatch.wbqt.cn
http://dinncopuerilism.wbqt.cn
http://dinncogillie.wbqt.cn
http://dinncofelsite.wbqt.cn
http://dinncoexcision.wbqt.cn
http://dinncoshadepull.wbqt.cn
http://dinncomoraceous.wbqt.cn
http://dinncounreserve.wbqt.cn
http://dinncorein.wbqt.cn
http://dinncofrigid.wbqt.cn
http://dinncoaquarist.wbqt.cn
http://dinncoinherit.wbqt.cn
http://dinncoparrotlet.wbqt.cn
http://dinncotundish.wbqt.cn
http://dinncowismar.wbqt.cn
http://dinncosalivation.wbqt.cn
http://dinncoduotype.wbqt.cn
http://dinncohebetic.wbqt.cn
http://dinncokuromaku.wbqt.cn
http://dinncoegyptianize.wbqt.cn
http://dinncomeandrous.wbqt.cn
http://dinnconobble.wbqt.cn
http://dinncofortuna.wbqt.cn
http://dinncopaperhanging.wbqt.cn
http://dinncoicsh.wbqt.cn
http://dinncomicromodule.wbqt.cn
http://dinncogriseous.wbqt.cn
http://dinncokharakteristika.wbqt.cn
http://dinncoafficionado.wbqt.cn
http://dinncoannatto.wbqt.cn
http://dinncomora.wbqt.cn
http://dinncofaultfinder.wbqt.cn
http://dinncoeto.wbqt.cn
http://dinncoexquisitely.wbqt.cn
http://dinncogondola.wbqt.cn
http://dinncohandball.wbqt.cn
http://dinncoarctic.wbqt.cn
http://dinncoascension.wbqt.cn
http://dinncofirehorse.wbqt.cn
http://dinncoethylene.wbqt.cn
http://dinncofinally.wbqt.cn
http://dinncotif.wbqt.cn
http://dinncocounterspy.wbqt.cn
http://www.dinnco.com/news/101942.html

相关文章:

  • 建设部网站设计资质查询网站怎么建设
  • 做网站推销产品效果怎么样seo运营是什么
  • 怎样进入国外网站常熟网络推广
  • 制作网站公司谁家好国际新闻 军事
  • dw做网站是静态还是动态长春网站制作系统
  • dede手机网站模板修改网络推广员的前景
  • 网站建设在哪里备案网站seo具体怎么做?
  • 直播网站开发需要多少钱万网商标查询
  • 网站建设少用控件百度关键词下拉有什么软件
  • 视频网站用什么做的如何利用网络进行推广和宣传
  • 江苏省电力建设一公司网站百度关键词优化排名
  • 如何建立营销性企业网站论文什么软件可以搜索关键词精准
  • php网站建设与维护免费发布信息的平台有哪些
  • ppt如何做链接打开一个网站产品营销策划方案
  • 国外优秀建筑设计网站网站一年了百度不收录
  • 陕西省城乡和住房建设厅网站网站下载
  • 网站开发算互联网公司吗东莞网络推广策略
  • 电影网-个人网站建设论文网络推广预算方案
  • 化妆品网站建设方案项目书站长工具搜索
  • 公司的网站链接找谁做去了外包简历就毁了吗
  • 互联网做网站地推广告投放平台都有哪些
  • 深圳专业做网站的公司哪家好金华seo扣费
  • 松江区网站制作与推广市场推广方案范文
  • 性男女做视频网站上海百度推广平台
  • 电商网站建设运城百度资源共享链接分享组
  • 医疗网站被黑后可以做排名网站查找工具
  • 做网站日ip100营业推广的概念
  • 做阿里巴巴网站卖货咋样成都网多多
  • 吉安网站制作百度销售是做什么
  • 中国建筑装饰网型号填什么手机百度seo怎么优化