题解 | #奶牛排队问题#

奶牛排队问题

https://www.nowcoder.com/practice/e974a33a14a344278c3a359a1ebf833e

题目考察的知识点:哈希

题目解答方法的文字分析:用unordered_map存储数据,先查找,如果找到,并且两数之间的距离<=k,则返回true;否则,需要更新这个结点,先删除再插入。

本题解析所用的编程语言:c++

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param weights int整型vector 
     * @param n int整型 
     * @param k int整型 
     * @return bool布尔型
     */
    bool checkDuplicate(vector<int>& weights, int n, int k) {
        // write code here
        unordered_map<int, int> mp;
        for (int i = 0; i < n; ++i)
        {
            if (mp.count(weights[i]) && i - mp[weights[i]] <= k)
                return true;
            mp.erase(weights[i]);
            mp.insert(pair(weights[i], i));
        }
        return false;
    }
};

全部评论

相关推荐

做人要有梦想dji:最新工位查看图片
点赞 评论 收藏
分享
昨天 11:29
门头沟学院 后端
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务