Computer >> Máy Tính >  >> Lập trình >> C#

Làm thế nào để có được ký tự xuất hiện cao nhất trong một Chuỗi bằng cách sử dụng C #?

Ký tự xuất hiện cao nhất trong một chuỗi là ký tự xuất hiện nhiều lần nhất. Điều này có thể được chứng minh bằng cách sử dụng ví dụ sau.

String: apples are red
The highest occurring character in the above string is e as it occurs 3 times, which is more than the occurrence of any other character.

Chương trình lấy ký tự xuất hiện cao nhất trong một chuỗi sử dụng C # được đưa ra như sau.

Ví dụ

using System;
namespace charCountDemo {
   public class Example {
      public static void Main() {
         String str = "abracadabra";
         int []charCount = new int[256];
         int length = str.Length;
         for (int i = 0; i < length; i++) {
            charCount[str[i]]++;
         }
         int maxCount = -1;
         char character = ' ';
         for (int i = 0; i < length; i++) {
            if (maxCount < charCount[str[i]]) {
               maxCount = charCount[str[i]];
               character = str[i];
            }
         }
         Console.WriteLine("The string is: " + str);
         Console.WriteLine("The highest occurring character in the above string is: " + character);
         Console.WriteLine("Number of times this character occurs: " + maxCount);
      }
   }
}

Đầu ra

Kết quả của chương trình trên như sau.

The string is: abracadabra
The highest occurring character in the above string is: a
Number of times this character occurs: 5

Bây giờ, chúng ta hãy hiểu chương trình trên.

Chuỗi str là abracadabra. Một charCount mảng mới được tạo có kích thước 256 và hiển thị tất cả các ký tự trong bảng ASCII. Sau đó, chuỗi str được duyệt qua bằng vòng lặp for và giá trị trong charCount được tăng lên tương ứng với ký tự trong chuỗi. Bạn có thể thấy điều này trong đoạn mã sau.

String str = "abracadabra";
int []charCount = new int[256];
int length = str.Length;
for (int i = 0; i < length; i++) {
   charCount[str[i]]++;
}

Số nguyên maxCount lưu trữ số lượng tối đa và ký tự là giá trị ký tự xuất hiện số lần tối đa. Giá trị của maxCount và ký tự có thể được xác định bằng vòng lặp for. Bạn có thể thấy điều này trong đoạn mã sau.

int maxCount = -1;
char character = ' ';
for (int i = 0; i < length; i++) {
   if (maxCount < charCount[str[i]]) {
      maxCount = charCount[str[i]];
      character = str[i];
   }
}

Cuối cùng, các giá trị của str, maxCount và ký tự được hiển thị. Bạn có thể thấy điều này trong đoạn mã sau.

Console.WriteLine("The string is: " + str);
Console.WriteLine("The highest occurring character in the above string is: " + character);
Console.WriteLine("Number of times this character occurs: " + maxCount);