首页 > 其他 > 详细

[leetcode]K Empty Slots

时间:2020-01-30 13:57:25      阅读:76      评论:0      收藏:0      [点我收藏+]

使用bucket

class Solution:
    def kEmptySlots(self, bulbs: List[int], K: int) -> int:
        size = len(bulbs) // (K + 1) + 1
        maxBuckets = [None] * size
        minBuckets = [None] * size
        for i in range(len(bulbs)):
            bulb = bulbs[i]
            bucket = bulb // (K + 1)
            if not maxBuckets[bucket] or maxBuckets[bucket] < bulb:
                maxBuckets[bucket] = bulb
            if not minBuckets[bucket] or minBuckets[bucket] > bulb:
                minBuckets[bucket] = bulb
            if bucket != 0 and maxBuckets[bucket - 1]:
                if minBuckets[bucket] - maxBuckets[bucket - 1] == K + 1:
                    return i + 1
            if bucket != size - 1 and minBuckets[bucket + 1]:
                if minBuckets[bucket + 1] - maxBuckets[bucket] == K + 1:
                    return i + 1
        return -1

  

[leetcode]K Empty Slots

原文:https://www.cnblogs.com/lautsie/p/12242649.html

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