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

活动网站怎么建设网络服务器价格

活动网站怎么建设,网络服务器价格,睢宁县建设局网站,网站功能板块文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 哈希表 二【题目难度】 中等 三【题目编号】 128.最长连续序列 四【题目描述】 给定一个未…

文章目录

  • 一【题目类别】
  • 二【题目难度】
  • 三【题目编号】
  • 四【题目描述】
  • 五【题目示例】
  • 六【题目提示】
  • 七【解题思路】
  • 八【时间频度】
  • 九【代码实现】
  • 十【提交结果】

一【题目类别】

  • 哈希表

二【题目难度】

  • 中等

三【题目编号】

  • 128.最长连续序列

四【题目描述】

  • 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。
  • 请你设计并实现时间复杂度为 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 < = n u m s . l e n g t h < = 1 0 5 0 <= nums.length <= 10^5 0<=nums.length<=105
  • − 1 0 9 < = n u m s [ i ] < = 1 0 9 -10^9 <= nums[i] <= 10^9 109<=nums[i]<=109

七【解题思路】

  • 利用哈希表的思想
  • 首先将数组中的元素加入哈希表中,这么做的目的是去重,并且为了方便后续的计算
  • 然后遍历哈希表中的每个元素,计算从这个元素开始的连续数组,通过哈希表进行扫描就可以
  • 这样我们就只使用了 O ( n ) O(n) O(n)的时间复杂度解决这个问题
  • 最后返回结果即可

八【时间频度】

  • 时间复杂度: O ( n ) O(n) O(n) n n n为传入的数组的长度
  • 空间复杂度: O ( n ) O(n) O(n) n n n为传入的数组的长度

九【代码实现】

  1. Java语言版
class Solution {public int longestConsecutive(int[] nums) {HashSet<Integer> map = new HashSet<>();for(int i = 0;i < nums.length;i++){map.add(nums[i]);}int res = 0;for(int num : map){if(!map.contains(num - 1)){int curNum = num;int curLen = 1;while(map.contains(curNum + 1)){curNum += 1;curLen += 1;}res = Math.max(res, curLen);}}return res;}
}
  1. C语言版
struct HashNode
{int key;UT_hash_handle hh;
};int longestConsecutive(int* nums, int numsSize)
{struct HashNode* map = NULL;struct HashNode* tempNode = NULL;for(int i = 0;i < numsSize;i++){HASH_FIND_INT(map, &nums[i], tempNode);if(tempNode == NULL){struct HashNode* newNode = (struct HashNode*)malloc(sizeof(struct HashNode));newNode->key = nums[i];HASH_ADD_INT(map, key, newNode);}}struct HashNode *val, *temp;int res = 0;HASH_ITER(hh, map, val, temp){if(val != NULL){int lastVal = val->key - 1;HASH_FIND_INT(map, &lastVal, tempNode);if(tempNode == NULL){int curNum = val->key + 1;int curLen = 1;HASH_FIND_INT(map, &curNum, tempNode);while(tempNode != NULL){curNum += 1;curLen += 1;HASH_FIND_INT(map, &curNum, tempNode);}res = fmax(res, curLen);}}}HASH_ITER(hh, map, val, temp){HASH_DEL(map, val);free(val);}return res;
}
  1. Python语言版
class Solution:def longestConsecutive(self, nums: List[int]) -> int:map = set(nums)res = 0for num in map:if num - 1 not in map:curNum = numcurLen = 1while curNum + 1 in map:curNum += 1curLen += 1res = max(res, curLen)return res
  1. C++语言版
class Solution {
public:int longestConsecutive(vector<int>& nums) {unordered_set<int> map;for(int i = 0;i < nums.size();i++){map.insert(nums[i]);}int res = 0;for(const int& num : map){if(!map.count(num - 1)){int curNum = num;int curLen = 1;while(map.count(curNum + 1)){curNum += 1;curLen += 1;}res = max(res, curLen);}}return res;}
};

十【提交结果】

  1. Java语言版
    在这里插入图片描述

  2. C语言版
    在这里插入图片描述

  3. Python语言版
    在这里插入图片描述

  4. C++语言版
    在这里插入图片描述

http://www.yayakq.cn/news/560922/

相关文章:

  • 做网站页面多少钱成都推广公司联系电话
  • 淘客网站开发公司企业品牌网站建设注意事项
  • 商务局网站溪江农贸市场建设如何查公司注册信息及法人
  • 推广网站优化怎么做网站首页的布局
  • 网站备案个人使用商城网站建设报价表
  • 网站推广公司电话seo搜索优化工具
  • 阜阳做网站制作网站需要什么语言
  • 四川中天建设有限公司网站建筑工程完工后移交情况说明
  • dedecms5.7装饰网站模板wordpress模块里加载最新文章
  • 会展门户网站源码万网域名注册官网中文域名
  • 网站维护一般需要多久装修网公司装修
  • 山西做网站哪个好米粒网站建设
  • 建设购物网站论文触屏版网站源码
  • 网站后台需求网站的维护怎么做
  • 河南如何做网站三金网手机网站
  • 如何查看网站的更新频率宝安做棋牌网站建设哪家好
  • 太原做企业网站的做链接哪个网站好
  • 地理云门户网站建设怎样更新网站文章
  • 网站建设夬金手指排名壹柒做塑胶原料用什么网站好
  • 网站推广模板简述网站开发平台及常用开发工具
  • seo一个空间建多个网站营销型网站有意义吗
  • 建设网站的方法企业网站怎么建立
  • 概述网站建设的流程上海网站快速排名
  • 乐清 做网站 多少钱wordpress访问特别慢
  • 专做ppt的网站杭州 企业 建网站
  • 网站开发项目需求分析山西网站建设免费咨询
  • 岳池网站制作上海网站开发哪家好
  • 一级a做爰片手机电影网站汽车网站策划
  • 企业网站可信度建设wordpress 友情连接
  • 荆州网站建设费用专业制作网站系统