首页 > 其他 > 详细

846. Hand of Straights

时间:2018-10-18 14:51:58      阅读:189      评论:0      收藏:0      [点我收藏+]
 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

原文:https://www.cnblogs.com/goPanama/p/9810208.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!