846. Hand of Straights

Posted gopanama

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了846. Hand of Straights相关的知识,希望对你有一定的参考价值。

 1 class Solution {
 2     public boolean isNStraightHand(int[] hand, int W) {
 3         if(W == 1) return true;
 4         Arrays.sort(hand);
 5         int i = 0, j = 0;
 6         while(i < hand.length){  //可以到最后 因为 == -1的话就会i++
 7             j= 1;
 8             int count = 0;
 9             if(hand[i] == -1){
10                 i++;
11             }else{
12                 int prev = hand[i];  //prev写在 = -1 前面
13                 hand[i] = -1;
14                 count++;
15                 while(i+j < hand.length && count < W){
16                     if(hand[i + j] == prev + 1){
17                         prev = hand[i + j];
18                         hand[i + j] = -1;
19                         count++;
20                         j++;
21                     }else if(hand[i + j] == prev || hand[i + j] == -1){
22                         j++;
23                     }else{
24                         return false;
25                     }
26                 }
27                 if(count < W) return false; //注意要是count<W 就要return false
28                 i++;
29             }
30         }
31         return true;
32         
33     }
34 }

 

以上是关于846. Hand of Straights的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode-846

LeetCode 846 一手顺子[Map 排序] HERODING的LeetCode之路

LeetCode 846 一手顺子[Map 排序] HERODING的LeetCode之路

uni-app的报错提示:Error in nextTick: “TypeError: Right-hand side of ‘instanceof‘ is not an object“

[Vue warn]: Error in nextTick: “TypeError: Right-hand side of ‘instanceof‘ is not an object“

warning: left-hand operand of comma expression has no effect for语句中编译错误,求原因