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

松江网站建设怎么建设大淘客网站

松江网站建设,怎么建设大淘客网站,拉新推广平台有哪些,仲恺做网站题目描述 给定一个未排序的整数数组 nums #xff0c;找出数字连续的最长序列#xff08;不要求序列元素在原数组中连续#xff09;的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1#xff1a; 输入#xff1a;nums [100,4,200,1,3,2] 输出找出数字连续的最长序列不要求序列元素在原数组中连续的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1 输入nums [100,4,200,1,3,2] 输出4 解释最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。示例 2 输入nums [0,3,7,2,5,8,4,6,0,1] 输出9提示 0 nums.length 105-109 nums[i] 109 思考 第一反应对nums进行排序然后查找最大序列。 但是时间复杂度为 O ( n l o g n ) \Omicron (nlogn) O(nlogn) 然后想一下可以枚举每个数字比如x。然后查看x1,x2,x3是否出现过。 朴素的话时间复杂度为 O ( n 2 ) \Omicron (n^2) O(n2) 通过剪枝如果处理x, 存在x-1的话肯定不用进行这次遍历(因为结果肯定会小于从x-1开始)。时间复杂度 O ( n ) \Omicron (n) O(n) 然后还可以使用并查集。比如2,3,4在同一个集合。7,8,9,10在一个集合。但是需要维护集合大小。 代码实现 感觉第三种实现比较有意思。虽然实际上写起来就感觉运行会很慢。权当复习并查集了 // // Created by Anti on 2023/9/1. // #include gtest/gtest.h #include logger.h/*** description 给定一个未排序的整数数组 nums 找出数字连续的最长序列不要求序列元素在原数组中连续的长度。* 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。*/ class Solution { private:std::unordered_mapint,int father_;std::unordered_mapint,size_t size_; // 所在并查集的大小int max_size_{}; // 最大的并查集大小/*** 返回x的祖先。约定祖先较小。* param x* return*/auto get_root(int x) - int {if(father_[x]x) {return x;}return father_[x] get_root(father_[x]);} public:int longestConsecutive(std::vectorint nums) {max_size_ !nums.empty();for(const auto num:nums) {father_[num] num;size_[num] 1;}for(const auto num:nums) {auto y num1;if(father_.count(num1)) {auto father_x get_root(num);auto father_y get_root(y); // 1 3 5 4if(father_x!father_y) {if(father_x father_y) {std::swap(father_x, father_y);}father_[father_y] father_x;size_[father_x] size_[father_y];max_size_ std::max(max_size_, int(size_[father_x]));}}}return max_size_;} };TEST(S128,SAMPLE1) {Solution s;std::vectorint nums {100,4,200,1,3,2};EXPECT_EQ(s.longestConsecutive(nums),4); }TEST(S128,SAMPLE2) {Solution s;std::vectorint nums {0,3,7,2,5,8,4,6,0,1};EXPECT_EQ(s.longestConsecutive(nums),9); }TEST(S128,TRICK1) {Solution s;std::vectorint nums {0};EXPECT_EQ(s.longestConsecutive(nums),1); } TEST(S128,TRICK2) {Solution s;std::vectorint nums {};EXPECT_EQ(s.longestConsecutive(nums),0); }
http://wiki.neutronadmin.com/news/124721/

相关文章:

  • 网站建设虚线的代码一家专门做软件的网站
  • 微网站自己可以做么wordpress数据库分离
  • 网站搭建东莞服务器 免费
  • 建网站花费如何用wordpress制作网站
  • asp手机网站管理系统嘉定区 网站建设
  • 建设网站东莞质量品质好的装修公司
  • 过时的网站网站如何做后台留言
  • 网站制作有哪些企业wordpress 文章宽度
  • 安徽省通信建设管理局网站正规网站建设公司一般要多少钱
  • 南平摩托车罚款建设网站缴费网站设计师的工作环境
  • 网站模版 优帮云大宗交易app下载
  • 曲阜网站建设价格专科学什么专业好就业前景好
  • 没注册可以做网站吗工作总结及工作计划
  • 外包公司排行济南seo排名优化推广
  • wordpress博客站模板下载广东网站建设专业公司哪家好
  • 厦门网站建设网站制作怎么在网站做支付端口对接
  • 网站推广效果不好原因wordpress副标题标签
  • 织梦保险网站源码除了亚马逊还有啥网站做海淘
  • 公司网站域名com好还是cn好中企动力是干啥的
  • 海南综合网站网站建设验收内容
  • 建网站怎么弄网站开发费如何入账
  • 5台电脑做视频网站服务器河北住房和城乡建设局网站
  • 建设厅网站官网湛江的高铁站建在哪里
  • 网站开发的趋势开发一个平台要多少钱
  • 中国建设银行网站首页怎么销户长沙建站价格
  • 专门做旅行用品的网站外包公司是怎么回事
  • 网站设计不同的原因seo工具优化软件
  • 北京网络网站建设公司谷德设计网打不开
  • 备案网站名称攻略厦门专业网站
  • 西宁建设工程官方网站制作简单门户网站步骤