抽象建模
来源:互联网 发布:疯狂java讲义精粹版 编辑:程序博客网 时间:2024/06/05 08:43
题目描述
从扑克中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大小王可以认为是任何数字。现在,要求你使用这幅牌模拟上面的过程,然后告诉我们LL的运气如何。为了方便起见,你可以认为大小王是0。
算法解析:首先我们需要注意的是,0是可以填补空缺的,如果数组中的空缺小于或等于0个个数的话,那么就可以视为这是一个连续数组。同时要注意的是如果有个非0的重复值的话,那么不能称为连续数组。 依据这些我们可以写出如下代码。
代码如下:
public static boolean isContinuous(int [] numbers) { if (numbers == null || numbers.length != 5){ return false; } Arrays.sort(numbers); int zeroNum = 0; for (int i = 0; i < numbers.length; i++) { if (i != 0 && numbers[i] == numbers[i - 1] && numbers[i] != 0){ //有两个不为0的数字相同 return false; } if (numbers[i] == 0){ zeroNum ++; } } int emptyNum = emptyNum = numbers[4] - numbers[zeroNum] + 1 - (numbers.length - zeroNum); if (emptyNum <= zeroNum){ return true; } return false; }
0 0
- 抽象建模
- 抽象与建模
- 数据结构---抽象建模
- 抽象建模能力题
- 抽象类----数据建模练习
- 剑指offer 算法 (抽象建模能力)
- UML建模《用例图》----具体用例和抽象用例
- 剑指offer 6.4 抽象建模能力2 -扑克牌的顺序
- 推理逻辑算法--------------问题抽象与数学建模
- 剑指offer 44题 【抽象建模能力】扑克牌的顺序
- 抽象建模能力-面试题44-扑克牌的顺子
- 建模
- 建模
- 建模
- 建模
- 建模
- 建模
- 建模
- Android实现自定义虚线
- 页面重绘,回流以及优化
- Android系统设置大号字体后布局错乱的问题
- RTP(上)
- 时间序列分析(1)R语言-计算简单收益率
- 抽象建模
- Building with Gulp
- centos 6.5 创建多个tomcat方法
- <s:iterator>总结
- pdf文字大小及颜色用pdf修改软件怎么修改
- Go 1.8 正式发布
- 缓存
- 几种VCS(版本控制系统)的特点和异同
- 《像外行一样思考,像专家一样实践》读书笔记