REAL692 小红的笔记打卡

题目链接

小红的笔记打卡

题目描述

小红统计了她一周(7 天)每天发布笔记的情况。输入一个长度为 7 的字符串,仅由 'O' 和 'X' 组成。'O' 代表当天发布了笔记,'X' 代表当天未发布笔记。请计算小红一共有多少天发布了笔记。

解题思路

题目的要求非常直接:计算一个给定字符串中特定字符 'O' 的出现次数。

这是一个基础的字符串遍历问题。我们可以通过一个循环,从字符串的第一个字符开始,逐一检查到最后一个字符。在循环内部,我们设置一个计数器变量,初始值为 0。如果当前检查的字符是 'O',就将计数器加一。当整个字符串遍历完成后,计数器的值就是发布笔记的总天数。

代码

#include <iostream>
#include <string>
#include <vector>

// C++ Solution
void solve() {
    std::string s;
    std::cin >> s;
    int count = 0;
    for (char c : s) {
        if (c == 'O') {
            count++;
        }
    }
    std::cout << count << std::endl;
}

int main() {
    solve();
    return 0;
}
import java.util.Scanner;

// Java Solution
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.next();
        int count = 0;
        for (int i = 0; i < s.length(); i++) {
            if (s.charAt(i) == 'O') {
                count++;
            }
        }
        System.out.println(count);
    }
}
# Python Solution
def solve():
    s = input()
    count = 0
    for char in s:
        if char == 'O':
            count += 1
    print(count)

if __name__ == "__main__":
    solve()

算法及复杂度

  • 算法:字符串遍历

  • 时间复杂度,其中 是输入字符串的长度。在这个问题中,字符串长度固定为 7,所以实际上是

  • 空间复杂度,我们只需要一个额外的计数器变量。