存在重复
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)是用来存储相同类型、没有确定顺序、且不重复的值。 也就是说当元素顺序不重要时,或者希望确保每个元素只出现一次时,可以使用集合而不是数组。
- 创建空集合
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到底咋写的?