zoukankan      html  css  js  c++  java
  • 【编程题目】在一个字符串中找到第一个只出现一次的字符。如输入 abaccdeff,则输出 b。

    第 17 题(字符串):
    题目:在一个字符串中找到第一个只出现一次的字符。如输入 abaccdeff,则输出 b。

    思路:此题非常容易。 最开始是想开辟一块空间存储每个字符出现的次数。 但转念一想,似乎没有必要。 对每一个字符,都依次和后面的比较,若出现了两次,则检查下一个字符,遇到只出现一次的,直接输出就好了。

    /*
    第 17 题(字符串):
    题目:在一个字符串中找到第一个只出现一次的字符。如输入 abaccdeff,则输出 b。
    分析:这道题是 2006 年 google 的一道笔试题。
    */
    
    #include <stdio.h>
    
    char findfirstone(char * in)
    {
        for(int i = 0; in[i] != ''; i++)
        {   
            int numofnow = 1;
            char now = in[i];
            for(int j = 0; in[j] != ''; j++) //这里必须从零开始 或者记录哪些数字曾经被访问过
            {
                if(j == i)
                {
                    continue;
                }
                if(now == in[j])
                {
                    numofnow++;
                    break;
                }
            }
            if(numofnow == 1)
            {
                printf("%c", now);
                return now;
            }
        }
    
        printf("no only one alphabet!");
        return '';
    }
    
    int main()
    {
        char * a = "aaaaaaaaab";
        findfirstone(a);
        return 0;
    }
  • 相关阅读:
    [TC11326]ImpossibleGame
    [CC-FNCS]Chef and Churu
    [JZOJ4786]小a的强迫症
    [USACO08NOV]Time Management
    ARC070F HonestOrUnkind
    LOJ2799 「CCC 2016」生命之环
    Luogu P5824 十二重计数法(小球盒子计数)
    Luogu P4249 [WC2007]剪刀石头布
    Kattis heapsoffun Heaps of Fun
    Kattis xorsequences XOR Sequences
  • 原文地址:https://www.cnblogs.com/dplearning/p/3894910.html
Copyright © 2011-2022 走看看