题解 | #第一个只出现一次的字符#
扑克牌顺子
http://www.nowcoder.com/practice/762836f4d43d43ca9deb273b3de8e1f4
三个条件:
- 用set存数组
set := make(map[string]bool)
- 没有重复数值:用一个set来填充数据,0不要放进去,set的大小加上0的个数必须为5个
- 最大和最小差值在5以内
func IsContinuous(numbers []int) bool { // write code here if len(numbers) < 5 || len(numbers) > 5 { return false } n := 0 max := 0 min := 14 set := make(map[string]bool) for i := 0; i < len(numbers); i++ { if numbers[i] == 0 { n += 1 continue } else { num := numbers[i] set[string(num)] = true if num > max { max = num } if num < min { min = num } } } //没有重复数值:用一个set来填充数据,0不要放进去,set的大小加上0的个数必须为5个 if len(set) + n != 5{ return false } //最大和最小差值在5以内 if max - min > 4 { return false } return true }