contains_duplicate_ii

2022-12-14 浏览 (744)

contains_duplicate_ii.cpp 源码

#include "vector"
#include "iostream"
#include "unordered_map"

using namespace std;

class Solution {
public:
    // 使用一个哈希表
    bool containsNearbyDuplicate1(vector<int>& nums, int k) {
        unordered_map<int, int> m;
        for (int i = 0; i < nums.size(); ++i) {
            auto it = m.find(nums[i]);
            if (it != m.end() && i - it->second <= k) {
                return true;
            }
            m[nums[i]] = i;
        }
        return false;
    }

    // 暴力法
    bool containsNearbyDuplicate2(vector<int>& nums, int k) {
        for (int i = 0; i < nums.size(); ++i) {
            for (int j = i + 1; j <= i + k && j < nums.size(); ++j) {
                if (nums[i] == nums[j]) {
                    return true;
                }
            }
        }
        return false;
    }
};

你可能感兴趣的文章

contains_duplicate

container_with_most_water

majority_element

  • 所属分类: 后端技术
  • 本文标签: 技术
  • 版权声明: 本文链接 https://seaxiang.com/blog/bf428146b4de434b888f59c8c6da7574