扑克牌中大小王可以看成任意数字,随机抽5张牌,如果能组成顺子就输出true,否则输出false。为了方便起见,可以认为大小王是0。
思路:先统计王的数量,如果后面一个数比前面一个数大于1以上,那么中间的差值就必须用王来补了。
import java.util.Arrays;
public class Test45 {
public boolean isContinuous(int[] numbers) {
int zero = 0;
int dist = 0;
if (numbers.length != 5) {
return false;
}
Arrays.sort(numbers);
for (int i = 0; i < 4; i++) {
if (numbers[i] == 0) {
zero++;
continue;
} else if (numbers[i] == numbers[i + 1]) {
return false;
} else {
dist += numbers[i + 1] - numbers[i] - 1;
}
}
if (zero >= dist) {
return true;
}
return false;
}
}