LeetCode-5:蜡烛之间的盘子

Posted il_持之以恒_li

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode-5:蜡烛之间的盘子相关的知识,希望对你有一定的参考价值。

原题为:

参考代码为:

class Solution(object):
    def platesBetweenCandles(self, s, queries):
        """
        :type s: str
        :type queries: List[List[int]]
        :rtype: List[int]
        """
        n = len(s)
        list_1 = [0] * n
        list_2 = [0] * n  # 从后往前
        list_3 = [0] * n  # 从前往后
        if s[0] == '|':
            list_1[0] = 1
            list_3[0] = 0

        if s[n-1] == '|':
            list_2[n-1] = n-1

        for i in range(1, n):
            if s[i] == '|':
                list_1[i] = list_1[i - 1] + 1
            else:
                list_1[i] = list_1[i - 1]

            if s[i] == '|':
                list_3[i] = i
            else:
                list_3[i] = list_3[i-1]

        for i in range(n-2,-1,-1):
            if s[i] == '|':
                list_2[i] = i
            else:
                list_2[i] = list_2[i + 1]

        out = []
        for list_4 in queries:
            start = list_4[0]
            end = list_4[1]
            if start == end:
                out.append(0)
                continue

            index_1 = list_2[start]
            index_2 = list_3[end]
            if index_1 >=index_2:
                out.append(0)
            else:
                out.append(index_2-index_1+1-(list_1[index_2]-list_1[index_1]+1))

        return out

执行结果:

以上是关于LeetCode-5:蜡烛之间的盘子的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 504. 七进制数 / 2055. 蜡烛之间的盘子 / 798. 得分最高的最小轮调(差分数组)

2022-03-30:有m个同样的苹果,认为苹果之间无差别, 有n个同样的盘子,认为盘子之间也无差别, 还有,比如5个苹果如果放进3个盘子, 那么131和113和311的放置方法,也认为是

tableau高级绘图-tableau绘制蜡烛图

tableau高级绘图-tableau绘制蜡烛图

Python生日蛋糕

PV操作与c++代码实现爸爸放苹果,妈妈放桔子,两个儿子专吃盘子中桔子,两个女儿专吃盘子中苹果问题