Mulai sekarangMulai gratis

Mengimplementasikan aplikasi analisis teks

Anda sedang mengembangkan aplikasi analisis teks yang perlu menghitung frekuensi kata dalam sebuah dokumen. Anda harus mengimplementasikan solusi dengan kompleksitas waktu yang optimal untuk pencarian kata.

Latihan ini merupakan bagian dari kursus

Optimasi Kode di Java

Lihat Kursus

Instruksi latihan

  • Ambil currentCount untuk kata tersebut ketika sudah ada di peta frekuensi.
  • Tingkatkan nilainya dan perbarui peta frekuensi dengan nilai yang telah diperbarui.
  • Jika kata belum ada di peta frekuensi sampai saat ini, tambahkan.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

public class Main {
    public static void main(String[] args) {
        TextAnalyzer analyzer = new TextAnalyzer();
        
        List words = Arrays.asList(
            "Java", "is", "a", "programming", "language", 
            "Java", "is", "widely", "used", "for", "building", "applications",
            "Many", "programmers", "use", "Java", "for", "web", "development", "and", "Android", "apps"
        );
        
        Map wordFrequency = analyzer.buildWordFrequencyMap(words);
        
        System.out.println("Word frequency analysis:");
        for (Map.Entry entry : wordFrequency.entrySet()) {
            System.out.println(entry.getKey() + ": " + entry.getValue() + " occurrences");
        }
    }
}

class TextAnalyzer {
    public Map buildWordFrequencyMap(List words) {
        Map frequencyMap = new HashMap();
        
        for (String word : words) {
            if (word.isEmpty()) {
                continue;
            }
            
            word = word.toLowerCase();
            
            if (frequencyMap.containsKey(word)) {
                // Retrieve the frequency of the word
                int currentCount = ____.get(____);
                // Increment the frequency of the word
                frequencyMap.put(____, currentCount + 1);
            } else {
                // If the frequency map does not have the word, add it.
                ____.____(word, 1);
            }
        }
        
        return frequencyMap;
    }
}
Edit dan Jalankan Kode