9.小果的键盘
题目:
代码:
include
include
using namespace std;
int main(){
int n;
string s;
cin>>n>>s;
int num = 0;
for(int i = 0;i < s.size() - 1;i++){
if(s[i] == 'V' && s[i + 1] == 'K'){
num++;
s[i] = s[i + 1] = 0;
}
}
int pos = s.find("VV");
if(pos >= 0){
num++;
}
else{
pos = s.find("KK");
if(pos >= 0) num++;
}
cout<<num;
return 0;
}
错误原因:
1.s.find(“VV”)
函数引用字符串用””,引用字符时用’’
2.s.size()
忘记写括号导致出错
3.利用最朴素的方法做,不出错超时在考虑其他方法,不要总想着用现成函数,容易出错
4.出错时学会改变条件
eg:最初想法是 删去VK后的字符串,若长度大于1,且V第一次出现的位置不在最后,说明不是‘KV’的情况,num+1 错误
则改变“互补”条件:只要有“VV”,”KK”时num就+1
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 vvVB0!