Bonjour, j'aimerais un peu d'aide sur un exercice en java que j'ai trouvé sur hackerank à cette adresse:
https://www.hackerrank.com/challenge...d-maps/problem
Je me suis débrouillé pour faire l'exercice mais mon code est mal optimisé et dès que l'on me donne 10000 possibilité (ou plus ou moins, je ne sais pas), j'ai un time out sur le site.
Si je pouvais avoir des conseils claires et pas trop compliqués pour améliorer mon code actuel tout en gardant le même cheminement logique.
A mon avis, le problème vient de la dernière partie, lors de l'analyse. Devoir vérifier 10000 entrées pour dire not found à la fin.
Merci beaucoup et bon fin de 1er mai.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 package hackerRank; import java.util.HashMap; import java.util.Scanner; public class day8 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); HashMap<String, Integer> myMap = new HashMap<String, Integer>(); int nb = sc.nextInt(); String [] tab1 = new String[nb]; sc.nextLine(); for(int k = 0; k < nb; k++) { String str = sc.nextLine(); tab1 = str.split(" "); myMap.put(tab1[0], Integer.parseInt(tab1[1])); } while(sc.hasNext()){ String s = sc.nextLine(); boolean bool = false; for (String item : myMap.keySet()) { if(item.equals(s)) { System.out.println(item+"="+myMap.get(item)); bool = true; } } if(bool == false) { System.out.println("Not found"); } } sc.close(); } }
Partager