package 剑指Offer;
// 9月20日,深圳字节跳动测试开发工程师-产品研发一面手撕代码
import java.util.Arrays;
public class JZ45_扑克牌顺子_中等_通过_9月20日 {
public static void main(String[] args) {
int[] arr = { 0, 3, 2, 6, 4 };
System.out.println(isContinuous(arr));
}
public static boolean isContinuous(int[] numbers) {
// 长度不为5的直接返回
if (numbers.length != 5)
return false;
// 排个序,下面继续
Arrays.sort(numbers);
for (int i = 0; i
// 大小王处理成0,代表可以称为任意一张卡片
if (numbers[i] != 0) {
// 最大的和最小的差不能超过4,超过4,5张开一定组不成顺子
if (numbers[4] - numbers[i] > 4)
return false;
else {
break;
}
}
}
// 判断5张卡里面是否有重复出现的,存在重复出现的情况,一定组不成顺子
int number = numbers[0];
for (int i = 1; i
// 0不做判断,即大小王可以随意调整
if (numbers[i] != 0 && numbers[i] == number) {
return false;
}
number = numbers[i];
}
return true;
}
} 看看注释,讲解写注释里面了