本题主要考察读题能力
规则啰啰嗦嗦半天,绕圈子,其实题目非常简单:
请从输入的一个数组中判断能否构成5个一连的顺子,输入的数范围为0-13的整数,其中0可以表示1~13的任意整数。若能构成顺子,返回true,否则返回false。
public class Solution { public boolean isContinuous(int [] numbers) { int len=numbers.length; if(len<4)return false; int[] cups=new int[14];//使用容器来统计个数 for(int i=0;i<len;i++){ cups[numbers[i]]++;//将数字装进容器 } int kingsLeft=cups[0];//万能数字的个数 int blankNum=0; for(int i=1;i<=9;i++){ blankNum=0; for(int j=0;j<5;j++){ if(cups[i+j]==0)blankNum++; } if(kingsLeft>=blankNum||blankNum==0)return true;//只要万能数字个数多于空缺,或者没有空缺,直接返回true即可 } return false; } }