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

网站做短链统计优缺点免费网站推广软文发布

网站做短链统计优缺点,免费网站推广软文发布,免费服务器空间,天津企业网站建站模板​"In the midst of winter, I found there was, within me, an invincible summer." - Albert Camus 1. 题目描述 2. 题目分析与解析 首先理解题意,题目要求我们找到一个长度最小的 连续子数组 满足他们的和大于target,需要返回的是子数组的…

​"In the midst of winter, I found there was, within me, an invincible summer." - Albert Camus

mountain reflection on body of water

1. 题目描述

2.  题目分析与解析

首先理解题意,题目要求我们找到一个长度最小的 连续子数组 满足他们的和大于target,需要返回的是子数组的长度。现在我们想一下,对于一个根本不懂编程的人而言,他会怎么解这个题目。因为算法无非就是不同的人根据题目采用的不同的方法去解决的,本质上还是人来解决,所以在每一个编程题目尤其是算法题目之前,尝试想一想一个不懂编程的人会怎么完成这个题目会对我们的编程带来很大的帮助。

2.1 思路一——暴力求解

对于一个普通人而言,一般而言,他会从前向后首先从第一个位置,从前向后加看到第几个数字满足条件,再从第二个数字开始,以此循环,直到找到最小值。图解如下:

对于这种解决方式而言,是肯定能解决出题目的,如果每一个位置都单纯从前向后遍历直到和大于target,那么时间复杂度为O(n^2)。因为假设target很大,没有解,那么每一次都要遍历到结尾,设数组长度为N,那么时间复杂度如下:

但是实际情况是加入第一次从开头遍历到结尾都没有大于target,肯定就不需要继续遍历了,因为所有数字的和都小于target,那就代表没有解了。所以时间复杂度不会很大,是可以通过的。

2.2 思路二——滑动窗口

以下内容引自数据结构和算法(如侵权请告知,立即删除)

我们把数组中的元素不停的入队,直到总和大于等于 s 为止,接着记录下队列中元素的个数,然后再不停的出队,直到队列中元素的和小于 s 为止(如果不小于 s,也要记录下队列中元素的个数,这个个数其实就是不小于 s 的连续子数组长度,我们要记录最小的即可)。接着再把数组中的元素添加到队列中……重复上面的操作,直到数组中的元素全部使用完为止。

我着重想讲一下为什么这样做是可以得到更好的时间复杂度。

  • 当目前的和小于target,就一直向后加,当我走到一个位置加起来大于等于target,就需要进行处理,而处理的内容就是将队列出队,并且不断更新最小序列长度,直到队列里的内容的和小于target,再继续向后走。

  • 我们知道队列的性质是先进先出,之所以要出队到内部的和小于target,是因为我们知道从队列头元素一直加到当前元素和才开始大于等于target。那么移除头元素就相当于从第二个元素开始相加,一直加到当前元素,我再判断它是否大于等于target。因此实际上每移除队列头部的一个元素,就相当于起始点向后移动了一位,从那一位加到当前位,判断是否还是大于等于target,如果满足,那新的最小长度就可以更新,直到小于target就停止。当发现现在队列又开始小于target了,就说明从这个位置开始我又要在现在队列的基础上扩充直到大于等于target。

  • 使用这种方法的好处就是减少了多次求和运算,因为我每移除一个头部元素,只需要进行一次减法,也就相当于暴力求解中更换了一次开始位置。而如果队列中元素和小于target时,再在现在和的基础上扩充,只需要加一个数字,也避免了前面重复的加法运算。所以这种方法能够很有效的提升时间复杂度。

3. 代码实现

3.1暴力求解

3.2 滑动窗口

4. 相关复杂度分析

4.1 暴力求解

  • 时间复杂度:O(n^2),其中 nnn 是数组的长度。需要遍历每个下标作为子数组的开始下标,对于每个开始下标,需要遍历其后面的下标得到长度最小的子数组。

  • 空间复杂度:O(1)。

4.2 滑动窗口

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

  • 空间复杂度:O(1)。

http://www.15wanjia.com/news/30276.html

相关文章:

  • 苏州新闻最新消息今天seo发贴软件
  • 网站怎么做来卖东西企业网络组网设计
  • 移动端网站宽度做多大南京seo优化
  • 373网站怎么做这样的网站如何制作网站二维码
  • 十大外贸网站怎么制作一个网站5个网页
  • 如何用wampp 做网站海南百度推广公司有哪些
  • seo于刷网站点击泰安seo排名
  • 在百度上怎么建网站百度助手下载
  • 重庆网站建设电话青岛seo关键词
  • 网站专题方案淘宝店铺转让价格表
  • 网站建设明细价单app推广接单渠道
  • 域名注册网站建设个人网站备案
  • 站长百科 wordpressaso100官网
  • 永州网站建设求职简历深圳网站seo
  • 做旅游网站的毕业论文外贸seo网站建设
  • 模板网pi专业seo整站优化
  • 企业网站建设与实施调研报告基本情况凡科网免费建站官网
  • 怎么知道网站用wordpress东莞seo快速排名
  • 专业的营销网站建设公司百度指数十年
  • 网站开发建设成本网络营销的概念与含义
  • 哪个网站做h5比较好华为seo诊断及优化分析
  • 怎么查网站有没有做推广代理广告投放平台
  • 网站建设可行性搜索优化的培训免费咨询
  • 机械类外贸网站建设博为峰软件测试培训学费
  • 网站过期了怎么办百度云网盘免费资源
  • 东莞品牌网站建设报价常见的系统优化软件
  • 重庆忠县网站建设公司电话网站排名seo
  • 江苏九天建设有限公司网站百度seo规则最新
  • 建立充电站需要多少钱网上推广
  • 兰州企业网站建设公司百度seo关键词报价