diff --git a/README.md b/README.md new file mode 100644 index 0000000..a96e95d --- /dev/null +++ b/README.md @@ -0,0 +1,15 @@ +# TD4 + +## Exercice 2 - Calculs de complexité de fonctions + +Fonction 1 : a une compléxité algorithmique de O(n*m) + +Fonction 2 : a une compléxité algorithmique de O(x) + +Fonction 3 : a une compléxité algorithmique de O(1) + + + +## Exercice 3 + +le code produit a une compléxité algorithmique de O(n²) car on a n² puis n² vu que on garde pas le nbr de n on garde juste n donc ca nous donne une compéxité algorithmique de O(n²) \ No newline at end of file diff --git a/SortND.java b/SortND.java new file mode 100644 index 0000000..b0b4abc --- /dev/null +++ b/SortND.java @@ -0,0 +1,35 @@ +import java.util.Arrays; +import java.util.Comparator; + +public class SortND { + + public static int[][] sort2D(int[][] array) { + // 1. Trier chaque ligne + for (int[] row : array) { + Arrays.sort(row); + } + + // 2. Trier les lignes par la somme de leurs éléments + Arrays.sort(array, Comparator.comparingInt(SortND::sumRow)); + + return array; + } + + private static int sumRow(int[] row) { + int sum = 0; + for (int x : row) sum += x; + return sum; + } + + public static void main(String[] args) { + int[][] array = { + {9, 4, 5}, + {0, 3, 2}, + {4, 1, 3} + }; + + int[][] sorted = sort2D(array); + + System.out.println(Arrays.deepToString(sorted)); + } +}