zoukankan      html  css  js  c++  java
  • LeetCode刷题记录(1)—— 217. 存在重复元素

    class Solution {
        //方法零:暴力搜索 (n^2) 超出时间限制
        /*public:
        bool containsDuplicate(vector<int>& nums) {
            for(int i=0;i<nums.size();i++){
                for(int j=i+1;j<nums.size();j++){
                    if(nums[i]==nums[j]){
                        return true;
                    }
                }
            }
            return false;
        }*/
        //方法一:利用set,遍历数组插入,若能查找直接返回true,否则插入,直到最后从未查找成功则说明不存在重复,返回false (set底层用红黑树实现,插入、查找的时间复杂度为o(logn))
      /*public:
        bool containsDuplicate(vector<int>& nums) {
            set<int> s1;
            for (auto i = nums.cbegin(); i != nums.cend(); i++) {
                if(s1.find(*i)!=s1.end())
                    return true;
                else
                    s1.insert(*i);
            }
            return false;
        }*/
        //方法二:先对数组进行sort排序(o(nlogn)),再遍历排序后数组,比较相邻的两个数是否相同
        /*public:
        bool containsDuplicate(vector<int>& nums) {
            if(nums.empty())
                return false;
            sort(nums.begin(), nums.end());
            for(int i=1;i<nums.size();i++) {
                if(nums[i-1]==nums[i])
                    return true;
            }
            return false;
        }*/
        //方法三:哈希散列。类似方法一,但是使用unordered_set(底层用哈希表实现,插入、查找的时间复杂度为o(n))
        public:
        bool containsDuplicate(vector<int>& nums) {
            unordered_set<int> s1;
            for (auto i = nums.cbegin(); i != nums.cend(); i++) {
                if(s1.find(*i)!=s1.end())
                    return true;
                else
                    s1.insert(*i);
            }
            return false;
        }
    };
  • 相关阅读:
    codeblocks 更换颜色主题
    python3 回顾笔记1
    linux查找目录下的所有文件中是否含有某个字符串
    jupyter notebook 远程访问
    ubuntu ufw防火墙
    加载大量的xml数据 使用压缩方法解决(当然较小时也可以压缩)
    lua string介绍
    Lua和C++交互详细总结
    编写高性能的 Lua 代码
    lua中遍历table的几种方式比较
  • 原文地址:https://www.cnblogs.com/esperanza/p/12160777.html
Copyright © 2011-2022 走看看