剑指Offer打卡day42—— ACWing 81. 扑克牌的顺子
Posted Johnny*
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指Offer打卡day42—— ACWing 81. 扑克牌的顺子相关的知识,希望对你有一定的参考价值。
【题目描述】
【思路】
排序 然后统计大小王的个数
用大小王区补非连接的数字
class Solution {
public boolean isContinuous(int [] numbers) {
if(numbers == null || numbers.length < 5 ) return false;
Arrays.sort(numbers);
//0,0,8,11,12
//11 - 8 - 1 = 2
int cnt = 0; //统计大小王的个数
for(int i = 0; i < 5; i ++){
if( numbers[i] == 0) {
cnt++;
continue;
}
//还有注意numbers[ i - 1] != 0特判掉 0 2 3 4 6 这种情况
if( i > 0 && numbers[i] - numbers[ i - 1] > 1 && numbers[ i - 1] != 0){
int t = numbers[i] - numbers[i - 1] - 1;
if( t > cnt ) return false;
cnt -= t;
}
}
return true;
}
}
以上是关于剑指Offer打卡day42—— ACWing 81. 扑克牌的顺子的主要内容,如果未能解决你的问题,请参考以下文章
剑指Offer打卡day42——AcWing 77. 翻转单词顺序
剑指Offer打卡day42—— AcWing 65. 数组中的逆序对
剑指Offer打卡day39 —— Acwing 42. 栈的压入弹出序列