LeetCode 220 存在重复元素3
来源:7-1 集合基础和基于二分搜索树的集合实现
StephenLee147
2018-05-17
import java.util.SortedSet;
import java.util.TreeSet;
public class Solution_220 {
public static boolean containsNearbyAlmostDuplicate(int[] nums, int k, int t) {
if(nums == null || k < 0 || t < 0 || nums.length < 2){
return false;
}
SortedSet<Integer> set = new TreeSet<>();
for (int i = 0; i < nums.length; i++) {
SortedSet<Integer> subset = set.subSet(nums[i]-t, nums[i]+t+1);
if(!subset.isEmpty()){
return true;
}
if(i > k -1){
set.remove(nums[i-k]);
}
set.add(nums[i]);
}
return false;
}
public static void main(String[] args) {
int[] nums = {1,2,3,1};
System.out.println(containsNearbyAlmostDuplicate(nums,4,0));
}
}自已验证没有问题,提交后一直报错,请老师看看。
写回答
1回答
-
liuyubobobo
2018-05-17
在leetcode中,如果提交以后出现错误,leetcode会告诉你出错的测试用例。比如我在leetcode上测试了你的程序,返回结果是这样的:

注意我高亮的部分,就是产生错误的测试用例。所以可以在本地试一下main函数中使用这样的测试用例?
public static void main(String[] args) { int[] nums = {0, 2147483647}; System.out.println(containsNearbyAlmostDuplicate(nums, 1, 2147483647)); }看看是不是在本地测试也有问题了?仔细查查问题在哪里?
如果需要,可以参考我给出的Solution:)
传送门:https://github.com/liuyubobobo/Play-Leetcode/tree/master/0220-Contains-Duplicate-III/java-0220/src
加油!
10
相似问题
