优化的一个办法是,在第16行以后,加个判断,当b大于1,则break退出循环,以减少运行时间。
修改如下:
参考链接:
#include <iostream>
#include <cstring>
using namespace std;
int main(void){
string str;
cin>>str;
int i;
for(i=0;i<=str.size()-1;i++){
int b=0;
for(int j=0;j<=str.size()-1;j++){
if(str[i]==str[j]){
b++;
if(b>1){ // 当与当前数组下标i的元素值相同的元素与的个数大于1,则break退出,以减少运行时间
break;
}
}
}
if(b==1){
cout<<str[i];
return 0;
}
}
cout<<"no";
return 0;
}
算法效率低了。
建个数组a[128]={0} 保存字符
遍历字符串,令a[str[i]]++,最后遍历a,输出元素为1的字符cout<<(char)i
【相关推荐】
虚函数表是一块连续的内存,每个内存单元中记录一个JMP指令的地址。