原文:http://www.codingdict.com/blog/article/2018/12/19/702.html
题目描述
从扑克牌中随机抽 5 张牌,判断是不是一个顺子,即这5张牌是不是连续的。
2~10 为数字本身,A 为1,J 为 11,Q 为 12,K 为 13,大小王可以看做任意数字。
为了方便,大小王均以 0 来表示,并且假设这副牌中大小王均有两张。
样例1
输入:[8,9,10,11,12]
输出:true
样例2
输入:[0,8,9,11,12]
输出:true
解法
对数组排序;
计算出 0 的个数 zeroCount;
从第一个不是 0 的数字开始遍历,与后一个数字比较,如果相等,直接返回 false;否则累计 gap;
判断 zeroCount 是否大于等于 gap。
网友评论