Bonjour,
j'ai 2 fonctions ou méthodes à implémenter en java ,j'ai cherché pendant longtemps
les solutions mais je n'ai pas pu trouver encore,quelqu'un peut-il m'aider svp?ou
m'apporter des indications.
Bonjour,
j'ai 2 fonctions ou méthodes à implémenter en java ,j'ai cherché pendant longtemps
les solutions mais je n'ai pas pu trouver encore,quelqu'un peut-il m'aider svp?ou
m'apporter des indications.
Bonjour,
Est-ce que vous pourriez prendre la peine de re-copier les instructions dans votre question au lieu de nous rediriger vers un document Word.. ?
![]()
D'accord
je dois implémenter la méthode findSmallestInterval(numbers)
qui retourne le plus petit intervalle positif entre 2 éléments du
tableau numbers(numbers est en fait un array de type int)
Par exemple: si je considère le tableau [1 6 4 8 2],le plus petit
intervalle est 1(différence entre 2 et 1).
Les contraintes que j'ai sont:
numbers contient au moins 2 éléments et
au maximum 100000 éléments.
La solution qui privilégie la vitesse d'execution pour les tableaux
de grande taille aura obtiendra le plus de points
La différence entre 2 éléments ne dépassera jamais la capacité
d'un entier pour votre langage
La méthode est la suivante:
Quelqu'un a t'il une solution svp?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 class Solution{ public static int findSmallestInterval(int[] numbers){ //on écrit le code ici } return 0; }
C'est le genre d'exercice qu'il est plus intéressant de solutionner seul. Mais parfois on à besoin d'un petit peu d'aide pour démarrer notre réflexion.
1. Comment faites-vous pour connaitre l'intervale entre deux nombres ?
2. Comment '' '' '' '' '' '' deux elements de votre tableau ?
Quand vous avez ces réponses commencez par chercher le plus petite intervalle entre numbers[0] et numbers[n].
3. Comment calculer l'intervale entre tous les éléments du tableau ?
4. Comment trouver la plus petite ?
Lorsque vous avez une solution, vous pouvez commencer à vous poser les questions d'optimisations qui passerons peut-être par un tri.
5. Qu'est ce qui défini la plus petite intervalle; quels sont les caractéristiques de nombres qui ont servis à l'obtenir ?
1) pour connaitre l'intervalle entre 2 nombres, on calcul la différence
2)pour connaitre l'intervalle entre 2 éléments du tableau,on cherche le nombre de combinaison de 2
éléments,et pour chaque combinaison trouvée on calcule la différence.
3)pour trouver le plus petit intervalle(la plus petite différence),on prend le minimum des différences trouvées
J'ai toutes ces réponses,maintenant comment je dois les traduire en code java?
J'ai donc fait le code suivant:
Mais la solution qu'il me retourne est 2 quand je le compile alors qu'il doit me donner 1 comme solution
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 import java.util.Arrays; public class FindSmallestInterval { public static void main(String[] args) { int[] numbers= {1, 6 ,4 ,8 ,2}; System.out.println(findSmallestInterval(numbers)); } public static int findSmallestInterval (int [] numbers) { // we write the code here Arrays.sort(numbers);//i sorted it int diff = numbers[1] - numbers[0]; int diffNeu = 0; for(int i = 1; i < numbers.length-1; i++) { diffNeu = numbers[i + 1] - numbers[i]; if(diffNeu < diff) { diff = diffNeu; } } ; return diffNeu; } }
puisque le plus petit intervalle dans l'array numbers suivant {1 ,6, 4, 8, 2} est 1(différence entre 2 et 1).
Pourquoi mon code me donne t il 2?alors qu'il doit me donner 1.
Partager