C'est ce que j'ai essayé d'atteindre:
entrée: arr [] = {1, 7, 2, 9, 6}
La paire (1, 2) aura la paire de somme minimale I.e. 1 + 2 = 3 p>sortie: (1,2) = 3 p>
- Parce que la boucle tandis que la boucle est itératrice une fois, je ne suis pas en mesure d'atteindre le résultat prévu. Besoin d'aide !! li> ul> blockQuote>
xxx pré> p>
3 Réponses :
Je pense que ce que vous obtenez fondamentalement les deux plus petits chiffres d'un tableau, j'espère ...
C'est une bonne truc, probablement pas plus efficace d'algorithmie, mais c'est rapide et sale: P>
Arrays.sort(arr); //This will sort your array. if(arr.length>1){ System.out.println(arr[0]); System.out.println(arr[1]); }
Pour trouver les 2 derniers chiffres, essayez ceci:
int min1 = Integer.MAX_VALUE, min2 = Integer.MAX_VALUE; for (int i : arr) { if (i < min1) { min2 = min1; min1 = i; } else if (i < min2) min2 = i; }
problème corrigé avec cette solution simple: strong> p>
xxx pré> blockQuote>
Vous voulez essentiellement trouver les deux plus petits numéros de la matrice, n'est-ce pas?
Cela signifierait commander le tableau et renvoyer les deux premiers articles :)
Ouais .. Mais émettez actuellement des mensonges dans la boucle tandis que comme elle itière une seule fois.
Pourquoi utilisez-vous
stringbuilder code>? Pourquoi ne pas simplement trouver le plus petit et à côté des plus petits nombres et faire un
system.out.printf ("sortie: ("% d,% d) =% d% n ", N1, N2, N1, N2, (N1 + N2) ); code>
@Wjs Stringbuilder a été utilisé pour formater le résultat, la façon dont elle était censée être. BTW Votre code semble beaucoup plus court et propre. Très appréciée !!
@Armandoballaci Votre idée a fait l'affaire. Merci mon pote !!