1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// @Title: 扑克牌中的顺子 (扑克牌中的顺子  LCOF)
// @Author: 15816537946@163.com
// @Date: 2022-02-19 19:47:30
// @Runtime: 0 ms
// @Memory: 1.9 MB
func isStraight(nums []int) bool {
    var s int
    vis := make([]int, 14)
    min, max := 14,-1
    for _, v := range nums {
        vis[v]++
        if v == 0 {
            s++
            continue
        }
        if vis[v]>1 {
            return false
        }

        if v > max {
            max = v
        }

        if v < min {
            min = v
        }
    }
    // fmt.Println("hit here")

    if max-min == len(nums)-1 {
        return true
    }
    return max-min-s <=1
}