Contains Duplicate III

给一个数组, k和t, 问有没有两个数差是k, index的差是t. 这个题不难, 但是全是corn cases.

public class Solution {
    public boolean containsNearbyAlmostDuplicate(int[] nums, int k, int t) {
        TreeSet<Integer> treeset = new TreeSet<>();
            for (int i = 0; i < nums.length; ++i) {
                Integer floor = nums[i] - t;
                Integer ceiling = nums[i] + t + 1;
                if ((long) nums[i] - (long) (t) < -2147483647) floor = Integer.MIN_VALUE;
                if ((long) nums[i] + (long) (t) + 1 > 2147483646)  ceiling = Integer.MAX_VALUE;
                if (t >= 0 && treeset.subSet(floor, ceiling).size() != 0) return true;
                treeset.add(nums[i]);
                if (i >= k) treeset.remove(nums[i - k]);
            }
        return false; 
    }
}