php 顺子 王为任意,手写代码:5个扑克牌是否是顺子,大小王当成任意的

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;

}

} 看看注释,讲解写注释里面了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值