LeetCode刷题集(七)(2315.统计星号)

简介: LeetCode刷题集(七)(2315.统计星号)

😦学习目标:拿下LeetCode2315.统计星号题目

  • 😤 学完本章节知识即可掌握本题!

学习内容:LeetCode2315.统计星号

😤题目:给你一个字符串 s ,每 两个 连续竖线 ‘|’ 为 一对 。换言之,第一个和第二个 ‘|’ 为一对,第三个和第四个 ‘|’ 为一对,以此类推。请你返回 不在 竖线对之间,s 中 ‘*’ 的数目。

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

1、示例1、输入:s = “l|eet|co|*de|"

输出:2

解释:不在竖线对之间的字符加粗加斜体后,得到字符串:"l|eet|co|*de|” 。

第一和第二条竖线 ‘|’ 之间的字符不计入答案。

同时,第三条和第四条竖线 ‘|’ 之间的字符也不计入答案。

不在竖线对之间总共有 2 个星号,所以我们返回 2 。

2、示例2、输入:s = “iamprogrammer”

输出:0

解释:在这个例子中,s 中没有星号。所以返回 0 。

3、示例3、输入:s = “yo|uar|e**|b|eau|tifu|l"
输出:5
解释:需要考虑的字符加粗加斜体后:"yo|uar|e
|b|e
**au|tifu|l” 。不在竖线对之间总共有 5 个星号。所以我们返回 5 。

🙈思路分析:

根据本题目的描述,我可以想到一种很巧妙的方法,那就是true和false大法。接下来我将讲一下我的具体的思路。

因为本题目当遇到用 | 两个这种符号包含的值的时候是不用计算在其中的,只有不被包含在其中的值为*的值才会被计算在其中,那么从而我们可以得出,首先我们先让一个标准值为true,当第一次我们遇到第一次|时,此时的转态翻转,正如下图所示,此时标准值为true,当我们第二次遇到|时再让状态值为false,此时这两个 | 之间的值我们就可以直接遍历走了。

0549bdde3f1c4cfe92ff5efb01eb0b7a.png

f403ace8b6e24ce5ae91dd438f9c1c03.png

💖那么此时的遍历过程我们是不是可以算之后带有星号的值了呢?是的没错这之间带有*号的值都是我们想要的值!!

6864b08513f74d0bae00a2efbf1a4bbc.png

💖代码产出:

int countAsterisks(char * s){
    bool value = true;
    int i = 0;
    int ans = 0;
    for(i = 0;s[i] != '\0';i++)
    {
        if(s[i] == '|')
        {
            value = !value;
        }
        else if(s[i] == '*' && value)
        {
            ans++;
        }
    }
    return ans;
}


目录
相关文章
|
3天前
|
算法 C++
【刷题】Leetcode 1609.奇偶树
这道题是我目前做过最难的题,虽然没有一遍做出来,但是参考大佬的代码,慢慢啃的感觉的真的很好。刷题继续!!!!!!
6 0
|
3天前
|
算法 索引
【刷题】滑动窗口精通 — Leetcode 30. 串联所有单词的子串 | Leetcode 76. 最小覆盖子串
经过这两道题目的书写,相信大家一定深刻认识到了滑动窗口的使用方法!!! 下面请大家继续刷题吧!!!
8 0
|
3天前
|
算法
【刷题】 leetcode 面试题 08.05.递归乘法
递归算法是一种在计算机科学和数学中广泛应用的解决问题的方法,其基本思想是利用问题的自我相似性,即将一个大问题分解为一个或多个相同或相似的小问题来解决。递归算法的核心在于函数(或过程)能够直接或间接地调用自身来求解问题的不同部分,直到达到基本情况(也称为基础案例或终止条件),这时可以直接得出答案而不必再进行递归调用。
21 4
【刷题】 leetcode 面试题 08.05.递归乘法
|
3天前
|
存储 算法 安全
【刷题】 leetcode 面试题 01.06 字符串压缩
来看效果: 非常好!!!过啦!!!
25 5
【刷题】 leetcode 面试题 01.06 字符串压缩
|
3天前
|
存储 算法 测试技术
|
3天前
|
算法 C语言 C++
存储 算法 C语言
14 1
|
17天前
[leetcode~数位动态规划] 2719. 统计整数数目 hard
[leetcode~数位动态规划] 2719. 统计整数数目 hard
|
19天前
刷题之Leetcode160题(超级详细)
刷题之Leetcode160题(超级详细)
13 0

热门文章

最新文章