219. 存在重复元素 II

地址:https://leetcode-cn.com/problems/contains-duplicate-ii/

<?php

/**
给定一个整数数组和一个整数 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
 */
class Solution {

    /**
     * @param Integer[] $nums
     * @param Integer $k
     * @return Boolean
     */
    function containsNearbyDuplicate($nums, $k) {
        $map = [];
        for ($i = 0;$i <count($nums);$i++){
            if (isset($map[$nums[$i]]) && $i - $map[$nums[$i]] <=$k){
                return true;
            }
            $map[$nums[$i]] = $i;
        }
        return false;
    }
}

$nums = [1,2,3,1];
$k = 3;
$solution = new Solution();
var_dump($solution->containsNearbyDuplicate($nums,$k));

 

posted @ 2020-04-16 18:24  花花妹子。  阅读(97)  评论(0编辑  收藏  举报