leetcode Day48 剑指专项56-57

59 阅读1分钟

1051. 高度检查器

var heightChecker = function(heights) {
    let arr=heights.slice(0)
    arr.sort((a,b)=>a-b)
    let res=0
    for(let i=0;i<arr.length;i++){
        if(arr[i]!==heights[i]){
            res++
        }
    }
    return res
};

剑指 Offer II 056. 二叉搜索树中两个节点之和

var findTarget = function(root, k) {
    const set = new Set();
    const helper = (root, k) => {
        if (!root) {
            return false;
        }
        if (set.has(k - root.val)) {
            return true;
        }
        set.add(root.val);
        return helper(root.left, k) || helper(root.right, k);
    }
    return helper(root, k);
};

剑指 Offer II 057. 值和下标之差都在给定的范围内

var containsNearbyAlmostDuplicate = function(nums, k, t) {
    for(let i=0;i<nums.length;i++){
        for(let j=k+i;j>i;j--){
            if(Math.abs(nums[i] - nums[j])<=t) return true;
        }
    }
    return false;
};