题解 | 扑克牌顺子
扑克牌顺子
https://www.nowcoder.com/practice/762836f4d43d43ca9deb273b3de8e1f4
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param numbers int整型一维数组 * @return bool布尔型 */ public boolean IsContinuous (int[] numbers) { // 每一个0都可以看做任意牌 // 最多有四个0,也就是有0-4种情况 HashMap<Integer,Integer> hashmap = new HashMap<>(); // 设置顺子上下限 int max = 0, min = 13; for(int i = 0; i < numbers.length; i++){ if(numbers[i] > 0){ // 顺子不能重复 if(hashmap.containsKey(numbers[i])){ return false; }else{ // 将新牌加入哈希表 hashmap.put(numbers[i], i); // 更新上下界 if(numbers[i] >= max){ max = numbers[i]; } if(numbers[i] <= min){ min = numbers[i]; } } } } // 如果两张牌大于等于5,剩下三张票无论如何也补不齐 if((max - min) >= 5){ return false; }else{ return true; } } }