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
相似问题