zoukankan      html  css  js  c++  java
  • LeetCode 217 Contains Duplicate

    Problem:

    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.

    Summary:

    判断数组中是否出现重复值。

    Analysis:

    1. 给数组排序后遍历,判断相邻两值是否相等。

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

    2. Hash表建立数组中数字和出现次数的映射,判断是否大于1。

     1 class Solution {
     2 public:
     3     bool containsDuplicate(vector<int>& nums) {
     4         int len = nums.size();
     5         unordered_map<int, int> m;
     6         
     7         for (int i = 0; i < len; i++) {
     8             if(++m[nums[i]] > 1) {
     9                 return true;
    10             }
    11         }
    12         
    13         return false;
    14     }
    15 };
  • 相关阅读:
    squid详解(正向代理、透明代理、反向代理)
    kvm虚拟化管理
    centos7系统排错
    网络基础(子网划分)
    cobbler无人值守自动安装
    MSSQL提权之xp_cmdshell
    MySQL 拿 WebShell
    9
    友价商城SQL注入
    Potato土豆win综合提权
  • 原文地址:https://www.cnblogs.com/VickyWang/p/6012319.html
Copyright © 2011-2022 走看看