[leetcode] 219. Contains Duplicate II
2016-07-27 12:08
316 查看
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 difference between i and j is
at most k.
解法一:
runtime error的naive思路。
class Solution {
public:
bool containsNearbyDuplicate(vector<int>& nums, int k) {
for(int i=0; i<nums.size(); ++i)
for(int j=max(i-k,0); j<min(int(nums.size()-1),i+k); ++j){
if (i!=j&&nums[i]==nums[j]) return true;
}
return false;
}
};
解法二:
感觉每道题都是脑筋急转弯。。。下面的思路就是用hash table记录数字的值和坐标,如果该值在之前出现过并且映射的坐标值和i只差不大于k, 返回true。
class Solution {
public:
bool containsNearbyDuplicate(vector<int>& nums, int k) {
unordered_map<int,int> ht;
for(int i =0; i<nums.size(); ++i){
if(ht.find(nums[i])!=ht.end()&& i - ht[nums[i]]<=k) return true;
ht[nums[i]] = i;
}
return false;
}
};
find out whether 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.
解法一:
runtime error的naive思路。
class Solution {
public:
bool containsNearbyDuplicate(vector<int>& nums, int k) {
for(int i=0; i<nums.size(); ++i)
for(int j=max(i-k,0); j<min(int(nums.size()-1),i+k); ++j){
if (i!=j&&nums[i]==nums[j]) return true;
}
return false;
}
};
解法二:
感觉每道题都是脑筋急转弯。。。下面的思路就是用hash table记录数字的值和坐标,如果该值在之前出现过并且映射的坐标值和i只差不大于k, 返回true。
class Solution {
public:
bool containsNearbyDuplicate(vector<int>& nums, int k) {
unordered_map<int,int> ht;
for(int i =0; i<nums.size(); ++i){
if(ht.find(nums[i])!=ht.end()&& i - ht[nums[i]]<=k) return true;
ht[nums[i]] = i;
}
return false;
}
};
相关文章推荐
- RM格式压缩电影软件 Easy RealMedia Producer Full V1.94 下载
- 在IE 浏览器中使用 jquery的fadeIn() 效果 英文字符字体加粗
- 比较简单的jquery教程 Easy Ajax with jQuery 中文版全集第1/3页
- Easy RM RMVB to DVD Burner v1.3.8 汉化版 下载 附注册码
- Expandable "Detail" Table Rows
- linux下安装easy_install的方法
- leetcode 179 Largest Number
- leetcode 24 Swap Nodes in Pairs
- leetcode 2 Add Two Numbers 方法1
- leetcode 2 Add Two Numbers 方法2
- python在Windows下安装setuptools(easy_install工具)步骤详解
- 归纳整理文件Easy Duplicate Finder2.24 破解版
- DM*** and Easy *** Server with ISAKMP Profiles
- easy ***
- cisco packet tracer 5.3 实现基于3A的easy ***
- leetcode----Longest Substring Without Repeating Characters
- [LeetCode]47 Permutations II
- [LeetCode]65 Valid Number
- [LeetCode]123 Best Time to Buy and Sell Stock III
- [LeetCode] String Reorder Distance Apart