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,所以实际上是
。
-
空间复杂度:
,我们只需要一个额外的计数器变量。