zoukankan      html  css  js  c++  java
  • 02:找第一个只出现一次的字符

    02:找第一个只出现一次的字符

    总时间限制: 2017-07-1218:36:28
    1000ms
     
    内存限制: 
    65536kB
    描述

    给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。

    输入
    一个字符串,长度小于100000。
    输出
    输出第一个仅出现一次的字符,若没有则输出no。
    样例输入
    abcabd
    样例输出
    c
    错误答案:9分
    #include<stdio.h>
    #include<iostream>
    #include<algorithm>
    #include<string.h>
    #include<math.h>
    using namespace std;
    char a[30][2];
    string w;
    int main()
    {
        int i,n,k;
        char j='a';
        for(i=1;i<=26;i++)
      {
            a[i][1]=j;
            j++;
      }
      cin>>w;
      n=w.length();
      for(i=0;i<n;i++)
      {
          for(k=1;k<=26;k++)
          {
                if(a[k][1]==w[i])  {a[k][2]++;continue;
                }
          }    
      }
      int f=0;
      for(i=1;i<=26;i++)
      {
            if(a[i][2]==1){f=1;cout<<a[i][1]<<endl;break;}         
      }
      if(f==0) cout<<"no"<<endl;
      return 0;
    }

    正确答案:
    #include<iostream>
    #include<cstring>
    #include<cstdio>
    using namespace std;
    int main()
    {
    char a[100001];
    int b,c[100001]={0};
    gets(a);
    b=strlen(a);
    for(int i=0;i<b;i++)
    {
    for(int j=0;j<b;j++)
    {
    if(a[i]!=a[j])c[i]++;
    }
    if(c[i]==b-1)
    {
    cout<<a[i];return 0;
    }
    }
    cout<<"no";
    return 0;
    }
  • 相关阅读:
    解决UITableView中Cell重用机制导致内容出错的方法总结
    Hdu 1052 Tian Ji -- The Horse Racing
    Hdu 1009 FatMouse' Trade
    hdu 2037 今年暑假不AC
    hdu 1559 最大子矩阵
    hdu 1004 Let the Balloon Rise
    Hdu 1214 圆桌会议
    Hdu 1081 To The Max
    Hdu 2845 Beans
    Hdu 2955 Robberies 0/1背包
  • 原文地址:https://www.cnblogs.com/voldemorte/p/7157058.html
Copyright © 2011-2022 走看看