zoukankan      html  css  js  c++  java
  • Contains Duplicate II

    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 difference between i and jis at most k.

    思路:用set记录每个数字,对于距离超过k的从set中擦出。

     1 class Solution {
     2 public:
     3     bool containsNearbyDuplicate(vector<int>& nums, int k) {
     4         int n = nums.size();
     5         set<int> check;
     6         for (int i = 0; i < n; i++)
     7         {
     8             if (i > k) check.erase(nums[i - k - 1]);
     9             if (check.count(nums[i])) return true;
    10             check.insert(nums[i]);
    11         }
    12         return false;
    13     }
    14 };
  • 相关阅读:
    协程
    多进程
    多线程
    模块进阶
    内建函数
    内建属性
    属性property
    私有化
    深拷贝、浅拷贝
    ==、is
  • 原文地址:https://www.cnblogs.com/fenshen371/p/4906716.html
Copyright © 2011-2022 走看看