zoukankan      html  css  js  c++  java
  • 【LeetCode】217 & 219

     217 - Contains Duplicate

    Given an array of integers, find if the array contains any duplicates. Your function should return true if any value appears at least twice in the array, and it should return false if every element is distinct.

    Solution 1: sort then compare the adjacent number

     1 class Solution {
     2 public:
     3     bool containsDuplicate(vector<int>& nums) {     //runtime:40ms
     4         if(nums.size()<=1)return false;
     5         sort(nums.begin(),nums.end());
     6         for(int i=1;i<nums.size();i++){
     7             if(nums[i-1]==nums[i])return true;
     8         }
     9         return false;
    10     }
    11 };

    Solution 2: map记录已存在的int

     1 class Solution {
     2 public:
     3     bool containsDuplicate(vector<int>& nums) {     //runtime:104ms
     4         if(nums.size()<=1)return false;
     5         map<int,bool> m;
     6         for(int i=0;i<nums.size();i++){
     7             if(m[nums[i]]==true)return true;
     8             m[nums[i]]=true;
     9         }
    10         return false;
    11     }
    12 };

     

    219 - Contains Duplicate II

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

    class Solution {
    public:
        bool containsNearbyDuplicate(vector<int>& nums, int k) {
            map<int,int> m;
            for(int i=0;i<nums.size();i++){
                if(m.find(nums[i])==m.end())
                    m[nums[i]]=i;
                else{
                    if(i-m[nums[i]]<=k)
                        return true;
                    else
                        m[nums[i]]=i;
                }
            }
            return false;
        }
    };
  • 相关阅读:
    Linux下python2.7安装pip
    图片转tfrecords
    Python+argparse+notebook
    Pycharm缺少环境变量+无法获取libcudnn.so.6
    Python手动实现k-means
    手动实现二值化
    Tensorflow+InternalError: Blas GEMM launch failed
    tensorflow-gpu+"Failed to create session"
    Ubuntu16.04+wineQQ+解决版本过低
    /usr/lib/nvidia-384/libEGL.so.1 is not a symbolic link
  • 原文地址:https://www.cnblogs.com/irun/p/4695783.html
Copyright © 2011-2022 走看看