一、题目内容

image.png

二、题解

解法1:

思路

max-min<5 成顺子

代码

  1. class Solution {
  2. /**
  3. * max-min<5
  4. *
  5. * @param nums
  6. * @return
  7. */
  8. public boolean isStraight(int[] nums) {
  9. Set<Integer> dic = new HashSet<Integer>();
  10. int max = 0, min = 14;
  11. for (int num : nums) {
  12. //大小王跳过即可
  13. if (num == 0) {
  14. continue;
  15. }
  16. max = Math.max(max, num); // 最大牌
  17. min = Math.min(min, num); // 最小牌
  18. // 若有重复,提前返回 false
  19. if (dic.contains(num)) {
  20. return false;
  21. }
  22. dic.add(num); // 添加此牌至 Set
  23. }
  24. return max - min < 5; // 最大牌 - 最小牌 < 5 则可构成顺子
  25. }
  26. }