【快乐水题】219. 存在重复元素 II
生活随笔
收集整理的這篇文章主要介紹了
【快乐水题】219. 存在重复元素 II
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原題:
力扣鏈接:219. 存在重復元素 II
題目簡述:
給你一個整數數組 nums 和一個整數 k ,判斷數組中是否存在兩個 不同的索引 i 和 j ,滿足 nums[i] == nums[j] 且 abs(i - j) <= k 。如果存在,返回 true ;否則,返回 false 。
解題思路
1.利用哈希來統計相同的值,然后計算下標差;
2.符合條件則輸出true,否則最后輸出false;
3.over;
夾帶私貨
1.利用最愛的模擬大法,模擬大法可以失敗,但是不能缺席!
2.美滋滋,可惜超時了;
3.over;
C++代碼:
class Solution { public:bool containsNearbyDuplicate(vector<int>& nums, int k) {//模擬大法可惜超時了。。。。 /*int n = nums.size();for(int i = 0; i < n - 1;i++){for(int j = i +1;j < n; j++){if(nums[i] == nums[j] && abs(i - j) <=k){return true;}}}return false; *///哈希表法int n = nums.size();unordered_map<int, int> umap;for(int i = 0; i < n ; i++){if(umap.count(nums[i]) && abs(i - umap[nums[i]]) <= k){return true;}umap[nums[i]] = i;}return false;} };力扣結果展示:
總結
以上是生活随笔為你收集整理的【快乐水题】219. 存在重复元素 II的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 教育行业视频号矩阵建设与运营策略分析报告
- 下一篇: 成年人不懂这些道理,会吃很多亏