千家信息网

Java扑克牌顺子怎么实现

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,本篇内容主要讲解"Java扑克牌顺子怎么实现",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java扑克牌顺子怎么实现"吧!题目LL今天心情特别好,因为他去
千家信息网最后更新 2025年12月02日Java扑克牌顺子怎么实现

本篇内容主要讲解"Java扑克牌顺子怎么实现",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java扑克牌顺子怎么实现"吧!

题目

LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!"红心A,黑桃3,小王,大王,方片5","Oh My God!"不是顺子.....LL不高兴了,他想了想,决定大\小 王可以看成任何数字,并且A看作1,J为11,Q为12,K为13。上面的5张牌就可以变成"1,2,3,4,5"(大小王分别看作2和4),"So Lucky!"。LL决定去买体育彩票啦。现在,要求你使用这幅牌模拟上面的过程,然后告诉我们LL的运气如何, 如果牌能组成顺子就输出true,否则就输出false。为了方便起见,你可以认为大小王是0。

分析

就是一个数组,0表示大小王,可以当癞子,其他的最小是1,最大是13,求给出的这个数组能否组成顺子。

我们仔细想想一个正常的顺子,比如6,7,8,9,10. 那最大值和最小值差为4,并且不能重复。所以我们应该得出两个结论。1,最大值和最小值相差小于等于4,为什么会小于4呢,因为有癞子0导致的。2.除了癞子0以外,其他的数字不能重复。

所以根据上面的条件我们就可以写出算法了。求出最小值,最大值。

重复数字怎么判断呢?先判断是否为0,不为0,将这个数字作为脚标存到另一个数组中,并计数加1,从而判断是否重复。

解法

public boolean isContinuous(int [] numbers) {
int count[]=new int[14];
if(numbers==null|| numbers.length<1){
return false;
}
int min=14;
int max=0;
for(int i=0;i if(numbers[i]==0){
continue;
}else if(count[numbers[i]]>0) {
//如果存在重复的数字就返回false;
return false;
}else if(numbers[i] min=numbers[i];
}else if(numbers[i]>max){
max=numbers[i];
}
count[numbers[i]]++;
}
if(max-min<5){
return true;
}
return false;
}

测试

main方法

public static void main(String[] args) {
Solution solution=new Solution();
int array[]={1,5,3,3,4,};
System.out.println(solution.isContinuous(array));
}

番外

测试的时候发现牛客上的这道题测试用例不全。比如我最开始这样写的

for(int i=0;i            if(numbers[i]==0){
continue;
}else if(numbers[i]==min||numbers[i]== max) {
//如果存在重复的数字就返回false;
return false;
}else if(numbers[i] min=numbers[i];
}else if(numbers[i]>max){
max=numbers[i];
}
count[numbers[i]]++;
}

可以看到我通过

(numbers[i]==min||numbers[i]== max

来判断是否存在重复的数字,其实这是不正确的,比如我是上面的测试用例1,5,3,3,4就不满足上面的要求。

到此,相信大家对"Java扑克牌顺子怎么实现"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

顺子 数字 面的 扑克 扑克牌 最大 最小 测试 大小 数组 最大值 癞子 体育 体育彩票 内容 大王 彩票 方法 小王 学习 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 lol数据库APP 汇智服务器如何做raid 成都众游网络技术有限公司 数据库与缓存的数据一致性 数据库中删除主键索引 南昌大同欣网络技术有限公司 微信小程序用哪个数据库最好 软件开发的项目管理软件推荐 2022年十大网络安全上市公司 网络安全法共计 网络安全工作组处置方案 为什么插着卡却连接不到服务器 春雨医生软件开发是不是在湖南 应该掌握的网络安全技巧有哪些 高科技软件开发注意事项 免费外国服务器地址 网络安全工程师吃香不 物联网网络安全的全球性 战术小队自己的个人服务器 信息技术中的网络安全 江苏省大学生网络安全 大学的数据库如何使用 专利局数据库怎么搭建 陕西服务器机柜厂家供应云服务器 网络安全周密码法宣传 克旗网络安全监控中心 盘古网络安全 网络安全青少年日工作总结 余姚ios软件开发平台 修复cydia数据库
0