国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

LeetCode 128. Longest Consecutive Sequence

2019-11-14 12:07:08
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

描述 Given an unsorted array of integers, find the length of the longest consecutive elements sequence.

For example, Given [100, 4, 200, 1, 3, 2], The longest consecutive elements sequence is [1, 2, 3, 4]. Return its length: 4.

Your algorithm should run in O(n) complexity.

分析 如果允許 O(n log n) 的復(fù)雜度,那么可以先排序,可是本題要求 O(n)。 由于序列里的元素是無(wú)序的,又要求 O(n),首先要想到用哈希表。 用一個(gè)哈希表 unordered_map

class Solution {public: int longestConsecutive(vector<int>& nums) { unordered_map<int, bool> used; for (auto i : nums) used[i] = false; int longest = 0; for (auto i : nums) { if (used[i] == true) continue; int length = 1; used[i] = true; for (int j = i + 1; used.find(j) != used.end(); ++j) { used[j] = true; ++length; } for (int j = i - 1; used.find(j) != used.end(); --j) { used[j] = true; ++length; } longest = (length < longest) ? longest : length; } return longest; }};
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 崇信县| 繁昌县| 昭通市| 金沙县| 大兴区| 常山县| 赤壁市| 姜堰市| 依兰县| 石家庄市| 枣强县| 泰来县| 怀远县| 启东市| 大渡口区| 名山县| 丹巴县| 平塘县| 苗栗市| 威宁| 北安市| 佛山市| 丹东市| 卓尼县| 营口市| 梅州市| 文安县| 天水市| 黄骅市| 手游| 尼勒克县| 铅山县| 英山县| 弋阳县| 清河县| 德阳市| 上虞市| 娱乐| 巴彦县| 阜阳市| 磐安县|