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


    给定一个数组,求其中是否存在重复的元素,有重复,返回true;否则,返回fasle。
    Input: [1,2,3,1]
    Output: true

    思路:
    一、用哈希字典存储元素,遍历数组中的元素若存在,则返回false;提交OJ,虽然AC了,但有点慢。

    bool containDuplicate(vector<int>& nums) {
        unordered_map<int, int> map;
        for (int i = 0; i < nums.size(); i++) {
            if (map.count(nums[i])) return true;
            map[nums[i]] = 1;
        }
        return false;
    }

    二、稍微改进,先排序,对排序后的数组遍历,速度比之前的快一点。

    bool containDuplicate(vector<int>& nums) {
        if (nums.size < 2) return false;
        sort(nums.begin(),nums.end());
        for (int i = 0; i < nums.size() - 1; i++) {
            if (nums[i] == nums[i + 1]) return true;
        }
        return false;
    }
  • 相关阅读:
    Linux磁盘分区、挂载
    crond任务调度
    Form组件使用
    Django路由系统
    Django中模板简单使用
    ORM常用操作
    IO多路复用
    vscode必装插件
    Flask-RESTful扩展
    flask-caching
  • 原文地址:https://www.cnblogs.com/luo-c/p/12871002.html
Copyright © 2011-2022 走看看