2315. 统计星号

OpenCV步步精深-可心科创工作室

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

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

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

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/count-asterisks
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2315. 统计星号插图
OpenCV步步精深-可心科创工作室
class Solution:
    def countAsterisks(self, s: str) -> int:
        # 先找出竖线对的idx,分割字符串,统计星号就行了
        shuxian_idx = []

        for elem_idx in range(len(s)):
            if s[elem_idx] == "|":
                shuxian_idx.append(elem_idx)
        
        count = 0
        if len(shuxian_idx) != 0:
            p = 0
            while p <= len(shuxian_idx) - 1:
                count += s[shuxian_idx[p]:shuxian_idx[p+1]].count("*") 
                p += 2
        all_star_counts = s.count("*")
        # print("*总数:", all_star_counts)
        # print("要删掉的数:", count)

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

更多干货见 OpenCV步步精深