文章目录

题目思路代码

题目

思路

注意是若干副扑克牌,所以所有牌都可能重复。除大小王之外,如果有牌重复,就不是顺子。并且除大小王之外的最大点-最小点<5,才有可能是顺子,如果>=5,就不是顺子。

在不重复的前提下,根据大小王有几个来分类:

5个:是顺子4个:是顺子3个:除大小王之外的最大点-最小点<5则是顺子,否则不是2个:除大小王之外的最大点-最小点<5则是顺子,否则不是1个:除大小王之外的最大点-最小点<5则是顺子,否则不是0个:最大点-最小点<5则是顺子,否则不是

一顿分析下来发现只要满足

除大小王之外的牌不重复除大小王之外的最大点-最小点<5

这两点,那么这把牌就是顺子!

代码

class Solution {

public boolean isStraight(int[] nums) {

int[] table=new int[14];

for(int i=0;i<14;i++) table[i]=0;

int min=14,max=0;

for(int i=0; i

table[nums[i]]++;

if(nums[i]!=0){

if(table[nums[i]]>1) return false;

if(nums[i]

if(nums[i]>max) max=nums[i];

}

}

if(max-min<5)return true;

else return false;

}

}

Copyright © 2088 俄罗斯世界杯主题曲_世界杯下一届 - pin8pin8.com All Rights Reserved.
友情链接