Utopi
a

存在重复

Don't do double circ!!

给定一个整数数组,判断是否存在重复元素。 如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。

Example

输入: [1,2,3,1] 输出: true

我的

func containsDuplicate(_ nums: [Int]) -> Bool { let set = Set(nums) return set.count != nums.count }

Set 用法

集合(Set)是用来存储相同类型、没有确定顺序、且不重复的值。 也就是说当元素顺序不重要时,或者希望确保每个元素只出现一次时,可以使用集合而不是数组。

  1. 创建空集合

Swift 中 Set 类型被写为 Set,这里的 Element 表示 Set 中允许存储的类型。下面我们通过构造器语法创建一个特定类型的空集合:

var fruits = Set<String>()

2. 创建带初始值的集合 > 下面我们创建一个带有三个 String 类型的初始值的集合。

var fruits: Set<String> = ["apple", "pear", "orange"] > 当然如果数组字面量中的所有元素类型相同,可以不必写 Set 的具体类型。 var fruits: Set = ["apple", "pear", "orange"]

3. 将数组转为集合

> 由于集合里的值是不能重复的,多余的重复值将会被丢弃掉。
let array = ["apple", "apple", "orange"] let set = Set(array) print(set)
  • 数组(Arrays)是有序数据的集。

  • 集合(Sets)是无序无重复数据的集。

  • 字典(Dictionaries)是无序的键值对的集。

168 ms

func containsDuplicate(_ nums: [Int]) -> Bool { if nums.count <= 1 { return false } var array = nums array.sort { (a, b) -> Bool in return a > b } for i in 0..<array.count-1 { if array[i+1] == array[i] { return true } } return false }

排序思路居然更快??Apple的sort到底咋写的?