From 1ccfe90def59a8c8be67dd8050ce9736e688a8d8 Mon Sep 17 00:00:00 2001 From: EmmanuelTiamzon Date: Fri, 7 Nov 2025 16:39:12 +0100 Subject: [PATCH] exo 3 tp generecite --- DEV.3.2/TP/TP1-Generecite/Frequence.java | 34 ++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 DEV.3.2/TP/TP1-Generecite/Frequence.java diff --git a/DEV.3.2/TP/TP1-Generecite/Frequence.java b/DEV.3.2/TP/TP1-Generecite/Frequence.java new file mode 100644 index 0000000..28f0771 --- /dev/null +++ b/DEV.3.2/TP/TP1-Generecite/Frequence.java @@ -0,0 +1,34 @@ +import java.util.*; + +public class Frequence { + + public static T elementPlusFrequent(T[] tab) { + java.util.Map compteur = new java.util.HashMap<>(); + + for(T element : tab) { + compteur.put(element, compteur.getOrDefault(element, 0) + 1); // Ici on compte les occurrences de chaque élément + } + + // Maintenant on doit trouver l'element le plus frequent (en respectant l'ordre du tableau) + T resultat = null; + int maxFrequence = 0; + for(T element : tab) { + int frequence = compteur.get(element); + if(frequence > maxFrequence) { + maxFrequence = frequence; + resultat = element; + } + } + return resultat; + } + public static void main(String[] args) { + // On test d'abord avec un type String + String[] mots = {"un", "deux", "trois", "un", "deux", "un"}; + System.out.println("Le mot le plus frequent est : " + elementPlusFrequent(mots)); + + // On test ensuite avec un type Integer + Integer[] nombres = {1, 2, 2, 3, 1, 2}; + System.out.println("le nb plus frequent : " + elementPlusFrequent(nombres)); + + } +} \ No newline at end of file