zoukankan      html  css  js  c++  java
  • 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.

    解析:

    首先想到的是对容器元素排序后,若有相等的元素则必然相邻,可以利用sort和unique方法,unique将无重复的元素移动到序列前端,返回无重复序列的下一个位置的迭代器。

    1 class Solution {
    2 public:
    3     bool containsDuplicate(vector<int>& nums) { //时间复杂度由于set
    4         sort(nums.begin(),nums.end());
    5         return unique(nums.begin(),nums.end()) != nums.end();
    6     }
    7 };

    第二种解法是用具有存放不重复元素的容器,比如map或者set

    1 class Solution {
    2 public:
    3     bool containsDuplicate(vector<int>& nums) {
    4         set<int> s(nums.begin(),nums.end());
    5         return nums.size() != s.size();
    6     }
    7 };
  • 相关阅读:
    生鲜购物篮模型
    shell脚本
    一号店评论文本聚类研究1
    数据框的合并(根据某一个字段)
    Reshape包
    R-kmeans
    python练习(续)
    python练习
    截取整数字符串
    java中PriorityQueue优先队列使用方法
  • 原文地址:https://www.cnblogs.com/raichen/p/4935088.html
Copyright © 2011-2022 走看看