当前位置: 代码迷 >> 综合 >> 1318 唯一的最好
  详细解决方案

1318 唯一的最好

热度:72   发布时间:2023-12-05 17:55:09.0

1318 唯一的最好

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

提交数 : 4750 | 通过数 : 1721

题目描述

我们经常听到:“唯一的总是最好的。”不知道是哪个名人说的(好像是我说的。。。暴扁中。。。)。假设现在有一堆宝物,有些品种的宝物数量有多个,物以稀为贵,多了就不稀奇了。你能找到数量只有一个的宝物吗?宝物用小写英文字母a-z表示,只有26种哦,亲。

输入要求

输入为一行字符串,全部由小写字母表示,长度不大于100。如“abcdea”表示宝物b、c、d、e各出现了1次,而宝物a出现了2次。

输出要求

输出只出现一次的那种宝物的对应字符,如果出现一次的字符有多个,那么输出首先出现的那个字符即可。如果没有只出现一次的字符,那么输出“NO only character”。

输入样例

abcdefggfdca

输出样例

b

提示

 
 

来源

NBU OJ

代码如下

#include<stdio.h>
#include<string.h>
int main()
{
    char s[1000];
    int a[100]={0};
    gets(s);
    int len=strlen(s);
    for(int i=0;i<len;i++)
    {
        a[s[i]-'a']++;
    }
    int flag=0;
    for(int i=0;i<len;i++)
    {
        if(a[s[i]-'a']==1)
        {
        flag=1;
        printf("%c\n",s[i]);
        break;
        }
}
    if(flag==0)
    printf("NO only character\n");
    return 0;
 }