Given an array of integers, find out whether there are two distinct indices i and j in the array such that the difference between nums[i] and nums[j] is at most t and the difference between i and j is at most k.

解题思路:

暴力枚举会LTE,解题思路是用sortedSet来解决,sortedSet可以返回一个在某个范围的subSet,同时判断这个subSet是否为空即可解决,主要,本题需要使用long类型!

JAVA实现如下:

import java.util.*;
public class Solution {
public boolean containsNearbyAlmostDuplicate(int[] nums, int k, int t) {
if(nums==null || nums.length<2||k<1 || t<0)
return false;
SortedSet<Long> set = new TreeSet<Long>();
for(int j=0; j<nums.length; j++) {
SortedSet<Long> subSet = set.subSet((long)nums[j]-t, (long)nums[j]+t+1);
if(!subSet.isEmpty())
return true;
if(j>=k)
set.remove((long)nums[j-k]);
set.add((long)nums[j]);
}
return false;
}
}

最新文章

  1. 一个Java文件至多包含一个公共类
  2. 【转】ContextMenuStrip菜单应用
  3. 51nod 1021 石头归并
  4. asp.net gridview 绑定图片字段,图片不显示
  5. 黑马程序员:Java基础总结----泛型(高级)
  6. idea svn 更新覆盖了本地代码
  7. android之活动状态、生存期、启动模式
  8. JavaScript基础——兼容性、错误处理
  9. lab1-Junit&amp;Eclemma
  10. dubbo源码—dubbo简介
  11. sublime安装、注册、插件
  12. C++ Primer 有感(标准库set类型)
  13. 洛谷P1115 最大字段和【线性dp】
  14. 如何在tomcat前部署一个nginx
  15. [HAOI 2015]按位或
  16. TensorFlow学习笔记——节点(constant、placeholder、Variable)
  17. 使用 IntraWeb (15) - 基本控件之 TIWEdit、TIWMemo、TIWText
  18. js返回页面顶部
  19. OleDbDataAdapter具体使用11
  20. python面向对象(二)

热门文章

  1. gulp进阶构建项目由浅入深
  2. github及其他记录
  3. C#深入浅出 C#语法中的重中之重——委托(四)
  4. PHP基础之 错误处理 及 异常处理
  5. 部分LINUX系统由图形界面启动变更为命令行界面启动的方法
  6. “RESTful架构”相关资料收藏
  7. ecshop之transport和jquery冲突之完美解决方案
  8. Java NIO与IO的区别和比较
  9. 分析Masonry
  10. UnsupportedClassVersionError: Bad version number in .class file