Suppression d'entiers
Fermé
pudya
-
Modifié le 3 nov. 2017 à 13:52
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 3 nov. 2017 à 15:48
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 3 nov. 2017 à 15:48
A voir également:
- Suppression d'entiers
- Forcer suppression fichier - Guide
- Suppression page word - Guide
- Suppression compte instagram - Guide
- Suppression compte facebook - Guide
- Suppression cookies - Guide
1 réponse
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
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.