leetcode:Binary Search Tree:Contains Duplicate III(220)

原创 2016年08月31日 14:54:34

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.


class Solution {
public:
    bool containsNearbyAlmostDuplicate(vector<int>& nums, int k, int t) {
        multiset<long long> bst;
        for (int i = 0; i < nums.size(); ++i) {
            if (bst.size() == k + 1) bst.erase(bst.find(nums[i - k - 1]));
            auto lb = bst.lower_bound(nums[i]);
            if (lb != bst.end() && abs(*lb - nums[i]) <= t) return true;
            auto ub = bst.upper_bound(nums[i]);
            if (ub != bst.begin() && abs(*(--ub) - nums[i]) <= t) return true;
            bst.insert(nums[i]);
        }
        return false;
    }
};
版权声明:本文为博主原创文章,未经博主允许不得转载。

leetcode 220: Contains Duplicate III

leetcode 220: Contains Duplicate III java c++ python
  • xudli
  • xudli
  • 2015年06月02日 08:31
  • 17779

Leetcode 220. Contains Duplicate III

Given an array of integers, find out whether there are two distinct indices i and j in the array suc...
  • xinqrs01
  • xinqrs01
  • 2017年02月10日 14:08
  • 219

[leetcode] 220. Contains Duplicate III 解题报告

题目链接:https://leetcode.com/problems/contains-duplicate-iii/ Given an array of integers, find out wh...
  • qq508618087
  • qq508618087
  • 2016年01月30日 11:09
  • 1111

Leetcode 220 Contains Duplicate III

1. 问题描述  给定一个整数数组nums[],查找是否存在两个下标i和j,满足|numsi−numsj|≤t|nums_i-nums_j| \le t 且 |i−j|≤k|i-j| \le k。2....
  • Jeanphorn
  • Jeanphorn
  • 2015年06月24日 19:38
  • 7862

(leetcode)contains duplicateIII[java]

题目描述:Given an array of integers, find out whether there are two distinct indices i and j in the ar...
  • zdavb
  • zdavb
  • 2015年07月03日 23:36
  • 473

Validate Binary Search Tree -- LeetCode

原题链接: http://oj.leetcode.com/problems/validate-binary-search-tree/  这道题是检查一颗二分查找树是否合法,二分查找树是非常常见的一种...
  • linhuanmars
  • linhuanmars
  • 2014年04月16日 04:34
  • 11694

Leetcode 98. Validate Binary Search Tree C++及javascript解答,不同语言不同玩法

题意:给定一棵二叉树,写程序判断这颗二叉树是否为合法的二分查找树(对于节点root,其所有左子树中节点都满足 node.val root.val) 转载请注明出处:http://blog.csdn...
  • sunny606
  • sunny606
  • 2017年03月15日 22:03
  • 216

leetcode 270: Closest Binary Search Tree Value

Closest Binary Search Tree Value Total Accepted: 1815 Total Submissions: 6418 Difficult...
  • xudli
  • xudli
  • 2015年09月26日 09:43
  • 5231

LeetCode(220) Contains Duplicate III

题目Given an array of integers, find out whether there are two distinct indices i and j in the array s...
  • fly_yr
  • fly_yr
  • 2015年11月19日 14:03
  • 326

leetcode 220 Contains Duplicate III

Given an array of integers, find out whether there are two distinct indices i and j in the array suc...
  • hellocooper
  • hellocooper
  • 2015年09月14日 19:43
  • 174
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:leetcode:Binary Search Tree:Contains Duplicate III(220)
举报原因:
原因补充:

(最多只允许输入30个字)