C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#を使用して組み込み関数を使用せずに最初の一意の文字を返す方法は?


長さ256の空の新しい配列を作成し、文字列全体を1文字ずつトラバースして、新しい配列の値をインクリメントします。最後に、配列全体をトラバースして、値が1の最初の文字を返します。

例1

aabccd-→2121→カウント1の最初の文字を返します。つまりASCII値で減算してbです。

例2

using System;
namespace ConsoleApplication{
   public class Arrays{
      public char ReturnCharacterOfFirstUniqueCharachter(string s){
         int index = -1;
         int[] arrayValues = new int[256];
         for (int i = 0; i < s.Length; i++){
            int value = s[i] - 'a';
            arrayValues[value] += 1;
         }
         for (int i = 0; i < s.Length; i++){
            int value = s[i] - 'a';
            if (arrayValues[value] == 1){
               index = i;
               break;
            }
         }
         return s[index];
      }
   }
   class Program{
      static void Main(string[] args){
         Arrays a = new Arrays();
         Console.WriteLine(a.ReturnCharacterOfFirstUniqueCharachter("bbookisgreat"));
         Console.ReadLine();
      }
   }
}

出力

k

  1. Javaを使用して文字列内の一意の文字を見つける方法は?

    指定された文字列に指定された文字が含まれているかどうかは、次の方法で確認できます- indexOf()メソッドの使用 indexOf()を使用して、文字列内の特定の文字を検索できます Stringクラスのメソッド。このメソッドは、文字列内の単語の位置インデックスである整数パラメータを返します。指定された文字が指定された文字列に存在しない場合は-1を返します。 したがって、特定の文字が文字列に存在するかどうかを確認するには- 指定された文字をパラメータとして渡して、文字列のindexOf()メソッドを呼び出します。 このメソッドの戻り値が-1でない場合、指定された文字を含むこ

  2. Pythonの文字列の最初の一意の文字

    文字列があり、文字列内の最初の一意の文字を検索する必要があるとします。したがって、文字列が「人」のようなものである場合、出現する最初の文字は「o」です。したがって、インデックスが返されます。ここでは2です。そのような文字がない場合は、-1を返します。 これを解決するには、次の手順に従います- 1つの頻度マップを作成する 文字列内の文字cごとに、を実行します。 cが頻度にない場合は、それを頻度に挿入し、値1を入力します それ以外の場合は、頻度のカウントを増やします 頻度マップをスキャンします。特定のキーの値が1の場合はそのキーを返し、そうでない場合は-1を返します。 例 理解を深め