今天在做题上跌的很惨,好久没打比赛,一些常考的小点往往容易忽略,今天清明节做了三个题
链接: 1805. 字符串中不同整数的数目.
这道题考字符串的几个操作
- 去掉字符串的前导零,注意“0000”,“01”,第一个是0,第二个是1
见代码,先判断一下是不是全是0,全是0,t=“0”,不全是,t=断点p之后的字符串;
string t=word.substr(up,i-up+1);
bool f=true;
int p;
for(int j=0;j<t.size();j++){
if(t[j]!='0'){
f=false;
p=j;
break;
}
}
if(f) t="0";
else t=t.substr(p);
2.装入set容器时不要用int数据类型,int会溢出
看题目
提示:
1 <= word.length <= 1000
word 由数字和小写英文字母组成
注意 字符串转化为int整型数据时的坑
1 <= word.length <= 1000
word 由数字和小写英文字母组成
如上,如果用int的话会溢出;
字符串长度能达到1000,而int长度最多能达到9
3.最容易忽略的是判断语句中条件的先后顺序,调换位置会运行出错
if(i==0||(word[i-1]>='a'&&word[i-1]<='z')) up=i;
if(i==word.size()-1||(word[i+1]>='a'&&word[i+1]<='z'))