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

文字列の両方の半分がC#で同じ文字セットを持っているかどうかを確認します


まず、チェックする文字列を設定します。

string s = "timetime";

次に、文字列の2つの半分に2つのカウンターを設定します。

int []one = new int[MAX_CHAR];
int []two = new int[MAX_CHAR];

文字列の両方の半分を確認してください。

for (int i = 0, j = l - 1; i < j; i++, j--) {
   one[str[i] - 'a']++;
   two[str[j] - 'a']++;
}

以下は、文字列の両方の半分がC#で同じ文字セットを持っているかどうかを確認するための完全なコードです。

using System;
class Demo {
   static int MAX_CHAR = 26;
   static bool findSameCharacters(string str) {
      int []one = new int[MAX_CHAR];
      int []two = new int[MAX_CHAR];
      int l = str.Length;
      if (l == 1)
      return true;
      for (int i = 0, j = l - 1; i < j; i++, j--) {
         one[str[i] - 'a']++;
         two[str[j] - 'a']++;
      }
      for (int i = 0; i < MAX_CHAR; i++)
      if (one[i] != two[i])
      return false;
      return true;
   }
   public static void Main() {
      string str = "timetime";
      if (findSameCharacters(str))
      Console.Write("Yes: Two halves are same!");
      else
      Console.Write("No! Two halves are not same!");
   }
}

出力

Yes: Two halves are same!

  1. Swiftで文字列に特殊文字が含まれているかどうかを確認します

    文字列に特殊文字が含まれているかどうかをswiftで確認するには、if elseやswitchなどの条件を使用できますが、実行には多くの条件が必要であり、プログラミングと実行に時間がかかります。したがって、この例では、正規表現を使用して同じタスクを実行する方法と、文字セットに文字が存在するかどうかを確認するためにswiftが提供する別のメソッドを示します。 方法1-正規表現を使用する Stringの拡張機能を作成し、それに次のコードを追加しましょう extension String {    var containsSpecialCharacter: Bool { &nb

  2. C++でツリーを構築せずに同一のBSTを確認する

    BSTの要素を表す2つの配列があります。その配列から要素を左から右に取得してBSTを形成する場合、両方の配列から取得することで、同じBSTを作成します。両方が同じように形成されているかどうかを確認する必要があります。しかし、制約は、BSTを作成できないことです。 2つの配列が{2、4、1、3}と{2、1、4、3}であるとすると、これらのシーケンスは両方とも同じBSTを形成できます。 アプローチは簡単です。ご存知のように、左側のサブツリーの要素はルートよりも小さく、右側のサブツリーの要素はルートよりも大きくなっています。これらの2つのリストは、各要素xについて、xの左右のサブツリーの要素