LeetCode 2315. 统计星号缩略图

给你一个字符串 s ,每 两个 连续竖线 '|' 为 一对 。换言之,第一个和第二个 '|' 为一对,第三个和第四个 '|' 为一对,以此类推。

请你返回 不在 竖线对之间,s 中 '*' 的数目。

注意,每个竖线 '|' 都会 恰好 属于一个对。

2315. 统计星号 – 力扣(Leetcode)

LeetCode 2315. 统计星号插图
OpenCV步步精深-可心科创工作室
LeetCode 2315. 统计星号插图1
OpenCV步步精深-可心科创工作室

思路:

统计所有的星号,剪掉竖线里面的。

python3实现:

class Solution:
    def countAsterisks(self, s: str) -> int:
        # 先统计数显数量
        all_count = s.count("*")
        # 找到竖线位置
        gang_list_idx = []
        for elem in range(0, len(s)):
            if s[elem] == "|":
                gang_list_idx.append(elem)
        # 两两一组统计星号
        count = 0
        if len(gang_list_idx) != 0:
            for i in range(0, len(gang_list_idx),2):
                str_s = s[gang_list_idx[i]:gang_list_idx[i+1]]
                count += str_s.count("*")
        return all_count - count
LeetCode 2315. 统计星号插图2
OpenCV步步精深-可心科创工作室

更多干货见 OpenCV步步精深

作者 admin

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注