LeetCode 219:Contains Duplicate II
来源:互联网 发布:布料运算软件 编辑:程序博客网 时间:2024/05/18 01:47
Given an array of integers and an integer k, find out whether there there are two distinct indices i and j in the array such that nums[i] = nums[j] and the difference between i and j is at most k.
此题在上一题Contains Duplicate的基础上,要求重复元素的半径不大于K。上题中,map中元素值为Key,元素索引下表为Value。所以在找到重复的情况下,可以判断下标差是否小于等于K。如果大于K,则修改已在map中元素对应的value,即下标。
class Solution {public: bool containsNearbyDuplicate(vector<int>& nums, int k) { map<int, int>int_map; map<int,int>::iterator iter; for (int i = 0; i<nums.size(); i++) { if((iter=int_map.find(nums[i]) )!= int_map.end() ){ if (i - iter->second <= k) { return true; }else{ int_map.erase(iter); } } int_map.insert(pair<int, int>(nums[i], i)); } return false; }};
1 0
- leetcode 219: Contains Duplicate II
- LeetCode 219:Contains Duplicate II
- Contains Duplicate II - LeetCode 219
- Leetcode[219]-Contains Duplicate II
- LeetCode 219 Contains Duplicate II
- Leetcode 219 Contains Duplicate II
- 【Leetcode】Contains Duplicate II #219
- Leetcode 219 Contains Duplicate II
- leetcode 219:Contains Duplicate II
- LeetCode 219: Contains Duplicate II
- leetcode: (219) Contains Duplicate II
- leetcode 219: Contains Duplicate II
- [Leetcode]#219 Contains Duplicate II
- [LeetCode 219] Contains Duplicate II
- [leetcode 219] Contains Duplicate II
- 【LEETCODE】219-Contains Duplicate II
- 【LeetCode】219Contains Duplicate II
- LeetCode 219 Contains Duplicate II
- Triangle Fun
- HDU 4496 D-City(并查集)
- 凸包入门
- MvcPager控件实现列表分页
- Hello world
- LeetCode 219:Contains Duplicate II
- C# Winform中实现主窗口打开登录窗口关闭的方法
- Cocos2d-x动作CCAction
- android实现沉浸式状态栏
- logistic回归——机器学习
- 第十五篇 Liunx的基本操作
- 2015百度之星初赛2 1005 序列变换(lis变形)
- 黑马程序员_java语言_类的继承
- Win10控件: MediaElement