zoukankan      html  css  js  c++  java
  • 846. Hand of Straights

    Alice has a hand of cards, given as an array of integers.

    Now she wants to rearrange the cards into groups so that each group is size W, and consists of W consecutive cards.

    Return true if and only if she can.

    Example 1:

    Input: hand = [1,2,3,6,2,3,4,7,8], W = 3
    Output: true
    Explanation: Alice's hand can be rearranged as [1,2,3],[2,3,4],[6,7,8].

    Example 2:

    Input: hand = [1,2,3,4,5], W = 4
    Output: false
    Explanation: Alice's hand can't be rearranged into groups of 4.
    

    Constraints:

    • 1 <= hand.length <= 10000
    • 0 <= hand[i] <= 10^9
    • 1 <= W <= hand.length

    Note: This question is the same as 1296: https://leetcode.com/problems/divide-array-in-sets-of-k-consecutive-numbers/

    又来重复题,你对得起交会员费的会员吗(不是我哈哈哈)?leetcode你没有心!(不过还是秒杀国内code平台)

    class Solution {
        public boolean isNStraightHand(int[] hand, int w) {
            int le = hand.length;
            if(le % w != 0) return false;
            Map<Integer, Integer> map = new HashMap();
            PriorityQueue<Integer> pq = new PriorityQueue();
            for(int i : hand) map.put(i, map.getOrDefault(i, 0) + 1);
            for(int i : map.keySet()) pq.offer(i);
            
            while(!pq.isEmpty()) {
                int cur = pq.poll();
                if(map.get(cur) > 0) {
                    int times = map.get(cur);
                    for(int i = 0; i < w; i++) {
                        if(!map.containsKey(i + cur) || map.get(i + cur) < times) return false;
                        map.put(i + cur, map.get(i + cur) - times);
                    }
                }
            }
            return true;
        }
    }

    按顺序尝试组成长度为k的集合,有个问题:

    map.put(i + cur, map.get(i + cur) - times),不能直接携程 - map.get(cur),否则会报错,很奇怪
  • 相关阅读:
    css3的::selection属性
    css3的apprearance属性(转)
    CSS3的background-size
    DNS与获取
    AMD规范
    网站的个性图标
    webapp之路--之ios上图标
    webapp之路--之必备知识
    用Js的eval解析JSON中的注意点
    CSS 盒模型
  • 原文地址:https://www.cnblogs.com/wentiliangkaihua/p/13523027.html
Copyright © 2011-2022 走看看