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

哪些网站的活动策划做的好wordpress外观选单分类添加不

哪些网站的活动策划做的好,wordpress外观选单分类添加不,沧州网站设计公司,网站建设文件夹结构目录 前言#xff1a; 长度最小的子数组 题目解析 算法原理 算法编写 无重复长度的最小字符串 题目解析 算法原理 算法编写 前言#xff1a; 本文开始#xff0c;介绍的是滑动窗口算法类型的题目#xff0c;滑动窗口本质上其实也是双指针#xff0c;但是呢#…目录 前言 长度最小的子数组 题目解析 算法原理 算法编写 无重复长度的最小字符串 题目解析 算法原理 算法编写 前言 本文开始介绍的是滑动窗口算法类型的题目滑动窗口本质上其实也是双指针但是呢前文介绍的双指针是二者相向移动的 滑动窗口就是同向移动的 本文通过2个题目介绍滑动窗口的基本使用介绍的题目分别是 209. 长度最小的子数组 - 力扣LeetCode 3. 无重复字符的最长子串 - 力扣LeetCode 通过三个步骤介绍第一步是题目解析第二步是算法原理第三步是算法编写同样的会在题目解析部分看是否存在暴力解法那么话不多说进入第一道题目。 长度最小的子数组 题目解析 题目的要求是找到一段连续的区间使得该区间的值的总和大于等于target如果有这种类型的区间返回值应该是这些区间的最小长度。如果没有这种子数组返回的应该为0。 然后是两个示例。那么对于这道题我们可不可以暴力解法呢当然是可以的。 我们只需要找到所有满足该条件的区间并判断他们的长度即可但是时间复杂度的话O(N^2)是肯定的了并且在这道题目上是会超时的所以有兴趣的同学们可以自行尝试。 那么为什么该题目一看就可以使用滑动窗口呢 因为要求的是一段连续的空间作为经验碰到要求是连续空间的题目我们不妨往滑动窗口上靠一下。 现在就进入算法原理部分。 算法原理 滑动窗口的本质是两个指针同向移动我们通过这两个指针的移动判断区间之和是否满足如果满足就进行比较长度大小。 那么如果使用滑动窗口呢 最开始两个指针的起点应该是一样的如果两个指针的位置不是一样的就会导致我们需要多加一个循环来专门求这个区间的和所以现在 int left 0, right 0; 这是肯定的那么滑动窗口我们可以记住两个名词一个是进窗口一个是出窗口什么时候进窗口什么是出窗口是我们题目所关心的。 进窗口代表区间之和target所以需要更多的数参与进来这也是为什么我们不需要排序的原理题目本身要求的是正整数所以我们只需要保证数字越多即可。 出窗口代表区间之和target出窗口判断里面存在的最小长度即可。 基本的原理就是如此一进一出之间可以将题目解决成功。 算法编写 class Solution { public:int minSubArrayLen(int target, vectorint nums) {int ans INT_MAX, left 0, right 0 ,sum 0;for(;right nums.size();right){sum nums[right];while(sum target) {ans min(ans,right - left 1);//如果ans为0 那么这一步永远都是0sum - nums[left];}}return ans INT_MAX ? 0 : ans;} }; 但是这道题目有个恶心的点在于如果最开始的长度不定义为很大的一个数判断比较的时候通过min是得不到最小的数的所以我们应该将ans定义为INT_MAX只要是很大的数就可以。 至此题目就解析完毕了。 无重复长度的最小字符串 题目解析 题目非常简短通过条件就是返回不含重复字符的最长字串的长度那么对于字符来说题目中给的要求是 所以我们为了判断有没有重复我们需要一种方法来判断是否存在某种映射我们在这里不妨使用哈希映射使用数组模仿哈希表那么首当其冲的我们不妨判断一下该题目是否存在暴力解法。 那肯定是存在的我们使用两个for循环第二个循环找最末尾的元素同时判断映射值是否大于1大于1直接返回即可。时间复杂度肯定是O(N^2)是可以通过的。 但是鉴于这道题的本质是一段区间所以我们不妨使用滑动窗口解答。 算法原理 上一道题目的滑动窗口是长度最小的子数组判断条件是大于等于target这道题的判断条件是hash映射是否大于1所以得出一个结论是使用滑动窗口的题目有三部曲第一是进窗口第二是判断第三是出窗口。 后面的题目都是很死板的使用该步骤。 那么我们判断的方法同样是使用哈希映射判断映射如果大于1就出出完了记录对应的ans或者是映射满足条件也记录对应的ans即可。 最后返回ans就行。 算法编写 class Solution { public:int lengthOfLongestSubstring(string s) {int hash[256] { 0 }, ans 0;for(int left 0, right 0;right s.size();right){hash[s[right]];while(hash[s[right]] 1){hash[s[left]]--;}ans max(ans,right - left 1);}return ans;} }; 滑动窗口的开篇就结束咯~ 感谢阅读
http://www.hkea.cn/news/14356384/

相关文章:

  • 门户型网站模板杭州高端网站建设公司哪家好
  • 网站开发服务的协议对电子政务做技术支持的网站
  • 福田区建设局网站wordpress 点赞数量翻倍
  • 缩短链接的网站做企业平台网站成本
  • 做网站的公司应该做收录嘛微信小程序做直播网站
  • 网站开发书的案例北京网络营销公司网页
  • 绵竹移动网站建设网站建设开题报告设计
  • 长沙网站seo公司国外外贸平台
  • 购物网站后台管理模板淘宝客商品推广网站建设
  • 网站平台推广方案东莞好的网站国外站建设价格
  • wordpress响应式主板成都网站快速优化排名
  • 建设音乐主题网站海口网站建设好
  • 哈尔滨网站开发海南网站开发公司
  • 新宫网站建设公司泉州建站软件
  • 沈阳网站建设公司app开发价格公司
  • 网站建设后端工程师岗位职责做网站网
  • 网站建设制作软件建设项目信息类网站
  • asp网站怎么改成中英双语泊头哪里有做网站的
  • 网站建设的电话销售聚企网
  • 丰台广州网站建设平罗县住房和城乡建设局网站
  • 建设系统网站全名建筑模板尺寸是多少
  • 温州网站开发网站的制作网页设计作业制作个人网站
  • 第一模板网站上的模板怎么下载沈阳网站制作优化推广
  • 免费建立个人app网站大兴安岭地网站seo
  • 建设部门户网站电子商务网站制作步骤
  • 新建网站推广凌美上海建设工程网站
  • 汶上网站建设哪家好wordpress 高亮
  • 微信app网站建设吉林省建设信息管理平台
  • 网站空间要备案吗d?t网站模版
  • 东莞个人网站建设体育新闻最新消息