您的位置:首页 > 大数据 > 人工智能

Algorithms—219.Contains Duplicate II

2015-06-03 21:50 316 查看
思路,首先将数组nums中前k个数放入map中查看是否有相同的,如果在,返回true;如果没有,添加;

然后,检查后面的每一个数是否在map中,如果在,返回ture;如果没有,添加,并删除map中最先添加的那个;public class Solution {
public boolean containsNearbyDuplicate(int[] nums, int k) {
if(nums.length<=1){
return false;
}
Map<Integer, String> map = new HashMap<Integer, String>();
for (int i = 0; i < nums.length; i++) {
if (map.get(nums[i]) == null) {
map.put(nums[i], "");
if (i >= k) {
map.remove(nums[i - k]);
}
} else {
return true;
}
}
return false;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: