• 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 };
  • 相关阅读:
    2021.6.7
    2021.6.4
    2021.6.3
    2021.6.2 团队第二阶段冲刺第十天
    2021.6.1 团队第二阶段冲刺第九天
    2021.5.31 团队第二阶段冲刺第八天
    2021.5.30 团队第二阶段冲刺第七天
    逻辑卷的使用
    磁盘阵列
    磁盘配额
  • 原文地址:https://www.cnblogs.com/VickyWang/p/6012319.html
Copyright © 2020-2023  润新知