题解
【基础】我是第几个单词
1 条题解
-
0
解题思路
从左到右检查每个单词,并从 1 开始编号。遇到第一个和 A 相同的单词就输出编号;如果没有找到,就输出所有单词字符的总数。
参考代码
#include <iostream> #include <string> using namespace std; int main(){ // 读入题目给出的输入数据 string s,a,w; getline(cin,s); cin >> a; int num=1,ans=0,cnt=0; for(int i=0;i<s.size();i++){ if(s[i]==32||s[i]==46){ if(s[i]==46)cnt+=w.size(); if(w==a){ans=num;break;} w=""; if(s[i]==32)num++; }else w+=s[i]; } if(ans==0)ans=cnt; // 完成题目的关键计算或判断 cout << ans; // 输出题目要求的答案 return 0; }复杂度
设句子长度为 n,时间复杂度
O(n),空间复杂度O(n)。
- 1