LeetCode——Contains Duplicate II

it2022-05-08  9

Question

Given an array of integers and an integer k, find out whether there are two distinct indices i and j in the array such that nums[i] = nums[j] and the absolute difference between i and j is at most k.

Solution

哈希表。

Code

class Solution { public: bool containsNearbyDuplicate(vector<int>& nums, int k) { map<int, int> table; for (int i = 0; i < nums.size(); i++) { if (table.find(nums[i]) == table.end()) table[nums[i]] = i; else { int front = table[nums[i]]; table[nums[i]] = i; if (i - front <= k) return true; } } return false; } };

转载于:https://www.cnblogs.com/zhonghuasong/p/7615498.html


最新回复(0)