首页 > 其他 > 详细

Contains Duplicate II

时间:2018-03-25 22:00:50      阅读:190      评论:0      收藏:0      [点我收藏+]

Given an array of integers and an integer k, find out whether there are two distinct indices i and j in the array such that nums[i] = nums[j] and the absolute difference between i and j is at most k.

 找两个相等数的间距,间距最大为k,我的思路就是用map来保存index,看代码吧:)

class Solution {
public:
    bool containsNearbyDuplicate(vector<int>& nums, int k) {
        int n = nums.size();
        map<int, int> m;
        for (int i = 0; i < n; ++i)
        {
            if (m.find(nums[i]) != m.end())
            {
                if (i - m[nums[i]] <= k)
                    return true;
                else
                    m[nums[i]] = i;
            }
            m[nums[i]] = i;
        }

        return false;
    }
};

 

Contains Duplicate II

原文:https://www.cnblogs.com/jiadyang/p/8647209.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!