Suppression d'entiers
Fermé
pudya
-
Modifié le 3 nov. 2017 à 13:52
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 3 nov. 2017 à 15:48
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 3 nov. 2017 à 15:48
A voir également:
- Suppression d'entiers
- Forcer suppression fichier - Guide
- Suppression page word - Guide
- Suppression cookies - Guide
- Suppression compte gmail - Guide
- Suppression compte instagram - Guide
1 réponse
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
3 nov. 2017 à 15:48
3 nov. 2017 à 15:48
Bonjour,
Comme je l'ai déjà indiqué dans ta discussion précédente, tu devrais trier tes entiers par ordre croissant.
Remarque : pour optimiser cette méthode sur un grand nombre de valeurs il faudrait privilégier l'utilisation de Collections.sort avec une ArrayList.
Comme je l'ai déjà indiqué dans ta discussion précédente, tu devrais trier tes entiers par ordre croissant.
public static List<Integer> delete(Collection<Integer> numbers, int target) { LinkedList<Integer> temp = new LinkedList<>(numbers); Collections.sort(temp); LinkedList<Integer> result = new LinkedList<>(); for (int sum = 0, next; sum < target && !temp.isEmpty(); sum += next) { next = temp.removeLast(); result.addFirst(next); } return result; } public static void main(String[] args) { List<Integer> result = delete(Arrays.asList(3, 8, 9, 4, 5), 18); System.out.println(result); // [5, 8, 9] car 5+8+9=22 > 18 }
Remarque : pour optimiser cette méthode sur un grand nombre de valeurs il faudrait privilégier l'utilisation de Collections.sort avec une ArrayList.