题目:
实现一个算法来识别一个字符串的字符是否是唯一的(忽略字母大小写)。若唯一,则输出YES,否则输出NO。
题解:
用一个字符数组来记录每个字符出现的次数,唯一输出YES,有一个数出现两次时输出NO。一个字符占一字节也就是8位,所以最多可以表示个字符同时它们使用ASCII码来表示值的范围证号也是0~255,所以可以用一个长度为256的字符数组来记录每个字符出现的次数了。
#include <bits/stdc++.h>
using namespace std;
int main(){string s;cin>>s;int c[255]={0};for(int i=0;s[i];i++){c[s[i]]++;if(c[s[i]]==2){cout<<"NO";return 0;}}cout<<"YES";return 0;
}
