剑指offer-45-扑克牌顺子
扑克牌顺子
http://www.nowcoder.com/questionTerminal/762836f4d43d43ca9deb273b3de8e1f4
思路
- set集合,有重复直接返回flase,否则max-min<5,注意要去除0的min和max
- 排序,遍历,等于0记录cnt++,如果number[i]-number[i-1]-1大于cnt,返回false,否则cnt减去对应的值。
代码
import java.util.*; public class Solution { public boolean isContinuous(int [] numbers) { if(numbers.length!=5){return false;} Set<Integer> set=new HashSet<>(); int min=14,max=0; for(int i=0;i<numbers.length;i++){ if(numbers[i]!=0){ if(numbers[i]!=0 && set.contains(numbers[i])){ return false; }else{ set.add(numbers[i]); } min=Math.min(min,numbers[i]); max=Math.max(max,numbers[i]); } } return max-min<5; } }
剑指offer与数据结构 文章被收录于专栏
本专栏包括剑指offer题目和一些刷题用的数据结构,单调栈,树状数组,差分数组,后面还会更新红黑树等较为复杂的数据结构