【追求进步】扑克牌顺子
2016-04-19 11:31
197 查看
继续之前的每天一个算法题目,不骄不躁,不断练习还是挺好的!
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的运气如何。为了方便起见,你可以认为大小王是0
在线代码:
题目描述
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的运气如何。为了方便起见,你可以认为大小王是0
在线代码:
import java.util.Arrays; public class Solution { public boolean isContinuous(int [] numbers) { if(numbers==null||numbers.length<1){ return false; } Arrays.sort(numbers); int numberofzero=0;//0的个数 int numberofGap=0;//间隙的个数 //统计数组中0的个数 for(int i=0;i<numbers.length&& numbers[i]==0;++i){ ++numberofzero; } //统计数组中的间隔数目 int small=numberofzero; int big=small+1; while(big<numbers.length){ //两个数字相等,则有对子。不可能是顺子 if(numbers[small]==numbers[big]){ return false; } numberofGap+=numbers[big]-numbers[small]-1; small=big; ++big; } return (numberofGap>numberofzero)?false:true; } }
相关文章推荐
- 最详细的Log4j使用教程
- 浅谈IT服务管理
- 如何在eclipse的配置文件里指定jdk路径
- 下拉条件的选择 和 input的onblur事件
- jQuery入门
- Java 性能要点:自动装箱/ 拆箱 (Autoboxing / Unboxing)
- Github上的iOS开源项目1
- live555
- mybatis打印sql语句的配置
- iOS CoreImage进行人脸检测
- 微信开发安卓页面出现两个滚动条其中一条无法滚动可以采用局部区域滚动解决
- 自定义随手指拖动的View
- Linux search file path
- 静态代理模式
- 说一下我对Mvvm模式的理解
- 智能家居体验
- html5中input弹窗时,不弹出输入法弹出。
- LeetCode 39. Combination Sum
- 详解Mybatis动态sql
- runtime学习之- 关联(association),在分类中添加属性!