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

crm系统搭建seo网课培训

crm系统搭建,seo网课培训,专业做二手网站,wordpress旅游类网站我这个方法有点投机取巧了,题目说时间复杂度最多O(n),而我调用了Arrays.sort()方法,他的时间复杂度是n*log(n),但是AC了,这样的话这道题还是非常简单的,创建一个Hashmap,以nums数组的元素作为ke…

 我这个方法有点投机取巧了,题目说时间复杂度最多O(n),而我调用了Arrays.sort()方法,他的时间复杂度是n*log(n),但是AC了,这样的话这道题还是非常简单的,创建一个Hashmap,以nums数组的元素作为key,以这个元素是连续序列中的第几个作为value,先把数组排一下序,然后从第一个开始往后遍历,如果map中有nums[i]这个key,可以直接跳过看下一个元素,如果没有这个key那就看有没有nums[i]-1这个key,也就是看nums[i]前面这个数有没有在数组中,如果有拿到这个nums[i]-1这个key的value,说明nums[i]-1在序列中的第value个,那么nums[i]就在序列中的第value+1个,map.put(nums[i],value+1),同时维护一个ans,表示数组中最大的序列,看看value+1是不是比ans大,如果是则更新ans。如果map中没有nums[i]-1这个key,说明nums[i]前面的序列已经断掉了,以num[i]为起点重新建一个序列,那么num[i]就是序列中的第1个,所以map.put(nums[i],1),以下是我的代码:

class Solution {public int longestConsecutive(int[] nums) {if(nums.length == 0)return 0;HashMap<Integer,Integer> map = new HashMap<>();int ans =1;Arrays.sort(nums);for(int i=0;i<nums.length;i++){if(map.containsKey(nums[i])){continue;}else{if(map.containsKey(nums[i]-1)){int value = map.get(nums[i-1])+1;map.put(nums[i],value);if(value > ans)ans=value;}else{map.put(nums[i],1);}} }return ans;}
}

看了一下题解,题解用的是Hashset。

class Solution {public int longestConsecutive(int[] nums) {Set<Integer> num_set = new HashSet<Integer>();for (int num : nums) {num_set.add(num);}int longestStreak = 0;for (int num : num_set) {if (!num_set.contains(num - 1)) {int currentNum = num;int currentStreak = 1;while (num_set.contains(currentNum + 1)) {currentNum += 1;currentStreak += 1;}longestStreak = Math.max(longestStreak, currentStreak);}}return longestStreak;}
}

他先把数组中的所有数全放进set里面,然后遍历set中的num,看看set中有没有num的前1个数num-1,如果没有,说明num就是一个序列的起点,把这个序列的长度先初始为1,然后用一个while循环去看看有没有num的下一个数,如果有的话,序列长度+1,num变为他的下一个数,没有的话循环结束,每次循环都更新longestStreak,最后返回longestStreak即可。

说实话我看完也有点疑惑,外层这个循环已经是O(n)了,里面还有一个while循环,这不是超了吗?好像是for里面只有几个序列的起点会进去,然后while里面也只有起点后面的几个数会进去,然后时间复杂度是O(2n)也就是O(n)。

http://www.mmbaike.com/news/87280.html

相关文章:

  • 临汾日报网站建设久久seo正规吗
  • 比较好的网站建设seo技术培训课程
  • 网站建设需要提供的资料海南seo快速排名优化多少钱
  • 个性化网站制作实时热搜
  • 南雄做网站百度关键词首页排名
  • 建站公司 万维科技2022年app拉新推广项目
  • 长沙网站制作app开发公司网络推广人员是干什么的
  • 自己建网站卖东西网站推广四个阶段
  • 网站制作里面链接怎么做搜索引擎网站有哪些
  • 商务网站制作工程师免费外国网站浏览器
  • 涂料 网站 源码在线网页制作网站
  • 宁波cms模板建站长春网站制作设计
  • 服装设计师必看的网站百度权重域名
  • 简单的网站开发的软件有哪些广告网络
  • 大学网站建设技术方案沈阳百度seo关键词优化排名
  • .net做网站教程整站优化关键词推广
  • 湖南网站制作方案网络营销模式包括哪些
  • 推广的十种方式优化快速排名公司
  • 自己做的网站别人查看长春seo按天计费
  • 住房和城乡规划建设局网站营销做得好的品牌
  • magazine wordpress主题百度seo点击工具
  • 求个网址老哥们2021seo关键词优化工具
  • 免费的网页服务器seo排名优化工具推荐
  • 做游戏赚钱的网站最有效的线上推广方式
  • 德州网站怎样建设淘宝关键词排名是怎么做的
  • 深圳专业网站建设企业站长工具是什么
  • 电子商务公司设计网站建设电商代运营公司
  • WordPress网站子目录访问佛山百度快照优化排名
  • 建设银行金湾支行网站百度数据开放平台
  • 日照网站建设公司视频seo优化教程