其他分享
首页 > 其他分享> > leetcode刷题笔记 219题 存在重复元素 II

leetcode刷题笔记 219题 存在重复元素 II

作者:互联网

leetcode刷题笔记 219题 存在重复元素 II

源地址:219. 存在重复元素 II

问题描述:

给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的 绝对值 至多为 k。

示例 1:

输入: nums = [1,2,3,1], k = 3
输出: true
示例 2:

输入: nums = [1,0,1,1], k = 1
输出: true
示例 3:

输入: nums = [1,2,3,1,2,3], k = 2
输出: false

//使用Set维护K长度的滑动窗口
import scala.collection.mutable
object Solution {
    def containsNearbyDuplicate(nums: Array[Int], k: Int): Boolean = {
        val Hset = mutable.Set[Int]()

        for (i <- 0 to nums.length-1) {
            if (Hset.contains(nums(i))) return true
            Hset.add(nums(i))
            if (Hset.size > k) Hset.remove(nums(i-k))
        }
        
        return false
    }
}

标签:false,示例,Int,nums,219,II,leetcode
来源: https://www.cnblogs.com/ganshuoos/p/13769462.html