LeetCode Contains Duplicate III
2015-11-01 19:06
323 查看
思路:
滑动窗口大小为k,在窗口内如果有一对差值<=t的数,那么返回true,扫描完数组中全部的数,如果都不存在上面的条件,则返回false。
借助数据结构来找到窗口中与要加入的值的最小差值。
Java code:
滑动窗口大小为k,在窗口内如果有一对差值<=t的数,那么返回true,扫描完数组中全部的数,如果都不存在上面的条件,则返回false。
借助数据结构来找到窗口中与要加入的值的最小差值。
Java code:
public class Solution { public boolean containsNearbyAlmostDuplicate(int[] nums, int k, int t) { TreeSet<Integer> set = new TreeSet<Integer>(); for(int i = 0; i < nums.length; ++i) { if(set.size() == k + 1) set.remove(nums[i - k - 1]); if(set.floor(nums[i]) != null && nums[i] <= t + set.floor(nums[i])) return true; if(set.ceiling(nums[i]) != null && set.ceiling(nums[i]) <= t + nums[i]) return true; set.add(nums[i]); } return false; } }
相关文章推荐
- [sicily]1509. Rails
- pthread_cond_wait()函数的理解
- android.intent.action.MAIN 与 android.intent.category.LAUNCHER 的验证理解
- HANA学院(7)-03 使用SAP HANA Studio中的Explain Plan
- contains实现简单搜索
- Painter's Problem【高斯消元】
- 杭电1021——Fibonacci Again(找规律、简单题)
- preamble码 http://zhidao.baidu.com/link?url=ObJ-VbAqYPJgIP7LF1RoulEeVhn9dHGJm9_xKKHCpalDZcI98uxH4QkN
- SHUTDOWN: waiting for active calls to complete
- Android SDK安装更新——Failed to fetch URL http://dl-ssl.google.com/android/repository/a
- 安装apk到Genymotion遇到Failure [INSTALL_FAILED_CPU_ABI_INCOMPATIBLE]
- mybatis学习(二)搭建一个xml形式的mybaits测试
- 说说 getMainLooper
- git总结(三)修改提交的author和email
- Daily Scrum (2015/10/31)
- [Django与表单]表单 CSRF verification failed 报错的解决
- nexus repair或update index 没反应 手动配置nexus index
- LightOJ - 1071 Baker Vai(记忆化搜索)
- HDOJ 2057 A + B Again
- 2015 Fall HIT Weekly Training 3