扑克牌中的顺子(Java)
题目:从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。
import java.util.Arrays;
/**
* @desc 扑克牌里面的顺子
* @author zhaoliang
* @date 20200421
*/
public class Main61 {
//扑克牌的数字
public boolean isContinuous(int [] numbers) {
if (numbers.length == 0)
return false;
int sum = 0;
for (int x : numbers){
if (x == 0){
sum ++;
}
}
Arrays.sort(numbers);
for (int i = sum + 1; i <numbers.length; i++){
sum -= numbers[i] - numbers[i - 1] - 1;
if (sum < 0 || numbers[i] == numbers[i - 1]) {
return false;
}
}
return true;
}
}