LeetCode 剑指 Offer 61. 扑克牌中的顺子
文章目录
题目描述
从若干副扑克牌中随机抽 5 张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。
示例 1:
输入: [1,2,3,4,5]
输出: True
扑克牌中的顺子
提示:
限制:
数组长度为 5
数组的数取值为 [0, 13]
一、解题关键词
数组,排序 ,长度为5,随机,大小王可以变成随意值
二、解题报告
1.思路分析
2.时间复杂度
3.代码示例
class Solution {
public boolean isStraight(int[] nums) {
int len = nums.length;
Arrays.sort(nums);
int zeroCount = 0;
for(int i = 0;i < len - 1; i++){
//讨论0在不在
if(0 == nums[i]){
zeroCount++;
}else if(nums[i] == nums[i + 1]){
return false;
}
}
return nums[4] -nums[zeroCount] < 5;
}
}
2.知识点
问题学会转化。抽象出来解决问题的根本方法