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

百度竞价培训快速网站推广优化

百度竞价培训,快速网站推广优化,去哪儿网站排名怎么做,张家港建设局门户网站题目描述 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的子数组 [numsl, numsl1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 输入输出示例 输入&…

题目描述

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

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

[numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。

输入输出示例

输入:target = 7, nums = [2,3,1,2,4,3]

输出:2

解释:子数组 [4,3] 是该条件下的长度最小的子数组。

解决方案

方式一:滑动窗口
算法思想

定义两个指针 start 和 end 分别表示子数组(滑动窗口窗口)的开始位置和结束位置,维护变量 sum 存储子数组中的元素和(即从 nums[start] 到 nums[end] 的元素和)。

初始状态下,start 和 end 都指向下标 0,sum 的值为 0。

每一轮迭代,将 nums[end] 加到 sum,如果 sum≥s,则更新子数组的最小长度(此时子数组的长度是 end−start+1),然后将 nums[start] 从 sum 中减去并将 start 右移,直到 sum

实现代码
class Solution {public int minSubArrayLen(int target, int[] nums) {int n=nums.length;if(n==0){return 0;}int ans=Integer.MAX_VALUE;int start=0,end=0;//窗口的左边界和右边界int sum=0;//窗口的元素和while(end<n){//向右滑动sum+=nums[end];//当窗口内的元素和大于等于目标值,缩小窗口while(sum>=target){ans=Math.min(ans,end-start+1);sum-=nums[start];start++;}//否则扩大窗口end++;}//考虑达不到目标值的情况return ans==Integer.MAX_VALUE?0:ans;}
}
复杂度分析

时间复杂度:O(n),其中 n 是数组的长度。指针 start 和 end 最多各移动 n 次。

空间复杂度:O(1)。

http://www.yayakq.cn/news/754711/

相关文章:

  • 制作网页的工具是什么安卓系统最好优化软件
  • 手机壳图案设计网站网络营销的网站建设报告
  • 建设银行网站首页打不开晶鹰建设摩托车官网
  • 网站空间和域名绑定wordpress最新文章字段
  • 如何增加网站访问量永久免费的网站软件
  • 清华大学学生工作做网站华为建站模板
  • 安卓手机建站wordpress前端会员中心
  • wordpress做淘客网站wordpress图文混排
  • 自学网站开发软件开发wordpress密码保护
  • 微商城网站建设策划做网站对程序员说那些需求
  • 蚌埠做网站公司期货交易平台
  • 个人网站好备案吗如何提取网页中的视频
  • 网站适配移动端和PC端搭建wordpress博客终端
  • 付网站建设费如果做账wordpress 模板添加
  • 高校网站建设方案 h5网站制作平台
  • 中山品牌网站设计西宁百姓网
  • wordpress站内全文检索如何在百度上建立网站
  • 网站栏目类别是什么意思微信网站设计欣赏
  • 做清洁找什么网站国外企业网络安全
  • 建设网站案例分析网站建设相关推荐
  • 深圳市做物流网站东坑东莞网站建设
  • 长沙做网站美工的公司黑白灰网站
  • html 网站模板简单wordpress linux下载文件
  • 大兴安岭建设局网站十大网页游戏排行
  • 在什么网站下载wordpress在线手机网站建设
  • 我国省级档案网站建设状况网络优化有哪些主要流程
  • 微信公众平台推广网站平台网站做等级保护测评
  • 危机公关蔡甸seo排名公司
  • 洞口网站开发公司竹子建站是什么
  • 平泉建设局网站网站建设大