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

wordpress4.6手册 chm优化大师电脑版官网

wordpress4.6手册 chm,优化大师电脑版官网,上海公共服务平台官网,网页开发入门之前写过一篇这个题的,但是可能代码比较复杂,这回来个简洁版的,这个是递归版本 可以看看之前的版本,两个版本面试用哪个都保过 解法都在代码里,不懂就留言或者私信 class Solution {/**对于之前的解法,我…

之前写过一篇这个题的,但是可能代码比较复杂,这回来个简洁版的,这个是递归版本

可以看看之前的版本,两个版本面试用哪个都保过

解法都在代码里,不懂就留言或者私信

class Solution {/**对于之前的解法,我现在提供一共更优的解,但是这种可能会比较难懂一些(思想方面)代码其实是很简洁的,总体思想如下:不需要排序直接把所有数放入map,map的key是当前数字,value是当前数开始的连续的长度初始值都是1,后面再遍历数组,遍历过程中查找当前数+1在map中的记录,直到找不到为止,比如我们第一个示例[100,4,200,1,3,2]我们便利到1的时候会在map中找到2的记录,然后取它的value+1,找2的过程又会递归查找3,直到找不到5的时候停,5的value是0,4取0+1=13取1+1=2 2取2+1=3,1取3+1=4而对于100,我们查找101就直接失败了,所以以它连续的就是0+1=1*/public int longestConsecutive(int[] nums) {/**如果长度小于2,有多少数就有多大的连续长度*/if(nums.length < 2) {return nums.length;}/**大于等于2的情况我们先把每个数都放在map里,key是数字本身,value是以它为开始的连续长度,初始值都设置为1这样做还有另外一个原因就是可以避免重复项的干扰*/Map<Integer, Integer> countMap = new HashMap<>();for(int num : nums) {countMap.put(num, 1);}/**定义结果值,既然有数,至少也得是个1吧*/int longest = 1;/**遍历数组,计算以当前数字开始的最长的长度*/for(int num : nums) {int curAns = countConsecutive(countMap, num);longest = Math.max(longest, curAns);}return longest;}/**通过countMap查找target开始的连续数字的长度 */public int countConsecutive(Map<Integer, Integer> countMap, int target) {/**我们通过主方法调用这个方法的时候当然target肯定是存在的,但是我们会递归调用 target+1直到不存在为止,所以这里一定要判断是不是存在,不存在返回0 */if(!countMap.containsKey(target)) {return 0;}/**这里有个大的优化,一定要做,如果当前map中存的target对应的value已经大于1了,说明算过了,不用重复计算不然每次都得从头开始一个一个算,肯定会超时的,比如先找1,然后找2.。。一直找到10000肯定不行,如果之前已经有2的记录了(大于1)现在取2的记录+1就行了 */if(countMap.get(target) > 1) {return countMap.get(target);}/**如果存在,找target+1开头的最大长度 */int count = countConsecutive(countMap, target + 1) + 1;/**不要忘了记录当前的结果*/countMap.put(target, count);return count;}
}

运行时间和百分百确实有所提升,但是真的是同样的时间复杂度,也没感觉常数时间降低了多少

http://www.hrbkazy.com/news/35458.html

相关文章:

  • 网站浏览速度论坛推广的特点
  • 网站备案幕布照如何做下载百度app到桌面
  • dw如何建设网站搜狗网站seo
  • gta手机网站大全宁波网站推广公司有哪些
  • 做博物馆网站最重要搜索网站排名
  • 宿迁网站建设开发建立一个网站需要多少钱
  • 有哪些做的好看的网站吗西安疫情最新消息1小时内
  • 虎门网站谷歌在线浏览入口
  • wordpress仿微信底部菜单css优化大师免费下载安装
  • 深圳网站建设 名片设计 网站管理沈阳优化网站公司
  • 银州铁岭做网站品牌营销推广方案
  • 上海网站建设建站对搜索引擎优化的认识
  • 做响应式网站公司如何提高百度搜索排名
  • 做网站软件要钱吗网站建设推广服务
  • 网站建设安全级别谷歌搜索入口365
  • 对于网站建设的体会网站快速优化排名官网
  • 建设外贸网站要多少钱手机百度
  • 建设网站的价值河南品牌网站建设
  • 过年做哪些网站能致富北京排名seo
  • 网站建设 业务走下坡18款禁用网站app直播
  • 做网站制作公司app推广拉新一手渠道
  • 赣州企业网站在那做淘宝关键词排名查询工具免费
  • 做网站不用我的服务器海外推广营销平台
  • 360房产网阳泉seo
  • 烟台建网站公司品牌推广活动策划方案
  • 国内做外贸如何访问外国网站seo基础优化包括哪些内容
  • ubuntu wordpress安装ftp上海比较好的seo公司
  • 中小学做课题研究的网站神点击恶意点击软件
  • 色块网站设计网页
  • 自己做的网站加入购物车价格无锡哪里有做网站的