meibin08 / free-programming-books

📚码农周报 免费的编程书籍,leetcode(力扣)题解、前端算法题,牛客网前端大厂面试题题解、提升工作效率的常用工具等📈🎉
https://susouth.com/
424 stars 60 forks source link

Array:解题:存在重复元素 III(NO:220) #25

Open meibin08 opened 5 years ago

meibin08 commented 5 years ago

给定一个整数数组,判断数组中是否有两个不同的索引 i 和 j,使得 nums [i] 和 nums [j] 的差的绝对值最大为 t,并且 i 和 j 之间的差的绝对值最大为 ķ。

原题链接:https://leetcode-cn.com/problems/contains-duplicate-iii/

meibin08 commented 5 years ago

js解题:

/**
 * @param {number[]} nums
 * @param {number} k
 * @param {number} t
 * @return {boolean}
 */

var containsNearbyAlmostDuplicate = function (nums, k, t) {
    let res = false;
    for (var i = 0; i < nums.length; i++) {

        for (var j = i + 1; j < nums.length; j++) {
            let itemNum = nums[i] >= nums[j] ? nums[i] - nums[j] : nums[j] - nums[i];
            if (j - i <= k && itemNum <= t) {
                //let itemNum = (nums.slice(i,j)).reduce((total,cur,pre)=>(total+cur));

                res = true;
                break;

            }
        }
    };
    return res;
};