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

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Leetcode 219 - Contains Duplicate II(hash or sort)

2019-11-08 19:49:59
字體:
供稿:網(wǎng)友

題意

給定一個數(shù)組nums和一個數(shù)k,判斷是否存在numsi=numsj|j?i|≤k

思路

算法1

建立一個pair<int, int>numsii,我們排序O(nlogn)排序后遍歷一遍就可以了。

算法2

unordered_map存儲元素x最后一次出現(xiàn)的下標,每次O(1)的去查找和判斷就可以了。

時間復(fù)雜度O(n)

代碼

//algorithm 1class Solution {public: bool containsNearbyDuplicate(vector<int>& nums, int k) { vector<pair<int, int>> a; for (int i = 0; i < nums.size(); i++) a.push_back(make_pair(nums[i], i)); sort(a.begin(), a.end()); for (int i = 1; i < nums.size(); i++) { if (a[i].first == a[i - 1].first) if (abs(a[i].second - a[i - 1].second) <= k) return true; } return false; }};//algorithm 2class Solution {public: bool containsNearbyDuplicate(vector<int>& nums, int k) { unordered_map<int, int> vis; for (int i = 0; i < nums.size(); i++) { int x = nums[i]; if (vis.count(x)) { if (i - vis[x] <= k) return true; } vis[x] = i; } return false; }};
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 邯郸市| 河曲县| 法库县| 汉沽区| 宜春市| 久治县| 郯城县| 新宁县| 肥城市| 普格县| 景宁| 调兵山市| 镶黄旗| 新化县| 柳州市| 通许县| 武平县| 鄂托克旗| 安泽县| 西畴县| 抚州市| 内江市| 临城县| 城口县| 竹溪县| 马龙县| 开原市| 汾西县| 额尔古纳市| 运城市| 莱州市| 岢岚县| 大理市| 于都县| 铁力市| 达日县| 弥渡县| 梁平县| 富顺县| 华亭县| 黄大仙区|