国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 玉环县| 登封市| 彭州市| 昭苏县| 尼勒克县| 伊宁县| 疏附县| 涟水县| 防城港市| 石棉县| 凯里市| 汉源县| 株洲市| 华宁县| 隆回县| 鱼台县| 峨山| 攀枝花市| 瓮安县| 海城市| 潞西市| 关岭| 建始县| 民乐县| 荆门市| 南江县| 温宿县| 新疆| 赞皇县| 南部县| 兴和县| 宜君县| 清镇市| 梁平县| 凤庆县| 山丹县| 行唐县| 寻乌县| 南康市| 博兴县| 德江县|