1. 程式人生 > >去哪兒2017校園招聘筆試題——統計字串中最先出現三次的字元

去哪兒2017校園招聘筆試題——統計字串中最先出現三次的字元

1. 題目

統計字元
  給定一個英文字串,請寫一段程式碼找出這個字串中首先出現三次的那個英文字元。
輸入
  qywyery23tdd
輸出
   y

2. 分析

  和所有統計英文字元一樣,依次利用Hash演算法將字串字元對映到256維字元陣列中,每一維儲存對應字元的個數。當最先達到3次的字元,並且是英文字母的字元輸出。

3. C++程式

#include<iostream>
#include<string>
using namespace std;
int main()
{
    string str;
    int nArrChar[256
] = {0};//對應ASCII碼 getline(cin,str); for(int i=0;i<str.length();i++) { if(++nArrChar[str[i]] == 3)//對應的碼位+1 { if( str[i]>='a' &&str[i]<='z' || str[i]>='A' && str[i]<='Z') //確定是英文字母則輸出 { cout<<str[i]<<endl; break
; } } } return 0; }

4. Java程式

package CountChar;
import java.util.Scanner;
public class CountChar {
    public static void main(String[] args) {
        String str;
        int nArr[] = new int[256];
        Scanner scan = new Scanner(System.in);
        str = scan.nextLine();
        for
(int i=0;i<str.length();i++) { if(++nArr[str.charAt(i)] == 3) { char c =str.charAt(i); if(c>='a'&& c<='z' || c>='A'&&c<='Z') { System.out.println(c); break; } } } scan.close(); } }

個人學習記錄,由於能力和時間有限,如果有錯誤望讀者糾正,謝謝!

轉載請註明出處:CSDN 無鞋童鞋。