# String# Iteration

f877 - 上課啊!!!!!

🔗 前往 ZeroJudge 原題

題目描述

題目要求判斷輸入的字串是否包含驚嘆號。如果字串中包含驚嘆號,則輸出 "YES",否則輸出 "NO"。

解題思路

這題的解題思路非常簡單,只需要遍歷輸入的字串,檢查是否存在驚嘆號即可。如果找到驚嘆號,則立即設定一個布林變數為 false,並在迴圈結束後輸出 "YES"。如果遍歷完整個字串都沒有找到驚嘆號,則輸出 "NO"。

複雜度分析

  • 時間複雜度: O(n),其中 n 是輸入字串的長度。因為需要遍歷整個字串來檢查是否存在驚嘆號。
  • 空間複雜度: O(1),因為只使用了常數個額外的變數。

程式碼

#include <iostream>
using namespace std;
string x;
int main(){
	cin.tie(0); ios::sync_with_stdio(false);
	while(getline(cin,x)){
		bool ans=1;
		for(int i=0;i<x.length()&&ans;++i)
			if(x[i]=='!')
				ans=0;
		if(ans)
			cout << "NO\n";
		else
			cout << "YES\n";
	}
}

Discussion