题解
统计逗号
1 条题解
-
0
解题思路
小童要统计一句话里英文逗号(
,)出现了多少次。这就像数一数一句话里藏了几个小逗号。我们把句子从头到尾扫一遍,看到
,就计数器加 1,其他的字符都不管。有两个小细节要注意:
- 一句话里可能有空格,要用
getline(cin, s)读整行,这样空格才能读进来; - 只统计英文逗号
,,不要把它和中文逗号(,)弄混。
最后把计数器的值输出就行。比如
Hello everyone,this is c++ language.里只有一个英文逗号,答案就是 1。参考代码
// 统计逗号:统计一句话中英文逗号的个数 #include <iostream> using namespace std; int main(){ string s; getline(cin,s); // 一句话可能含空格,读整行 int cnt=0; // cnt记录逗号个数 int n=s.size(); // n记录字符串长度 for(int i=0;i<n;i++){ if(s[i]==',') cnt++; // 是英文逗号就计数 } cout<<cnt<<endl; return 0; }复杂度分析
- 时间复杂度:把一句话从头到尾检查一遍,长度是 n,所以是 O(n)。
- 空间复杂度:只用一个计数器,是 O(1)。
- 一句话里可能有空格,要用
- 1