Rumah  >  Artikel  >  Java  >  Bagaimana untuk Mengira Kekerapan Watak dengan Cekap dalam Rentetan?

Bagaimana untuk Mengira Kekerapan Watak dengan Cekap dalam Rentetan?

Susan Sarandon
Susan Sarandonasal
2024-11-02 19:24:30881semak imbas

How to Efficiently Count Character Frequency in a String?

Menentukan Kekerapan Aksara dalam Rentetan

Mengira kekerapan aksara dalam rentetan ialah tugas biasa dalam pengaturcaraan. Untuk mencapai matlamat ini, pertimbangkan soalan berikut:

Soalan: Bagaimanakah cara seseorang mengira kekerapan aksara dalam rentetan dengan cekap?

Jawapan: Untuk menentukan kekerapan aksara, buat Peta Java yang memetakan aksara kepada integer. Lelaran melalui aksara rentetan dan semak sama ada ia wujud dalam peta. Jika ya, naikkan nilainya; jika tidak, mulakan nilainya kepada 1.

Map<Character, Integer> map = new HashMap<>();
String s = "aasjjikkk";

for (int i = 0; i < s.length(); i++) {
    char c = s.charAt(i);
    Integer val = map.get(c);
    if (val != null) {
        map.put(c, val + 1);
    } else {
        map.put(c, 1);
    }
}

Kaedah ini akan menghasilkan peta dengan aksara sebagai kunci dan frekuensi masing-masing sebagai nilai.

Sebagai alternatif, anda boleh menggunakan cadangan Bozho untuk menggunakan Multiset untuk mengira kejadian aksara secara langsung.

Atas ialah kandungan terperinci Bagaimana untuk Mengira Kekerapan Watak dengan Cekap dalam Rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn