From c19e9679c632c84127d6d6625690104054bca856 Mon Sep 17 00:00:00 2001 From: Louis Date: Fri, 6 Oct 2023 16:00:48 +0200 Subject: [PATCH] vault backup: 2023-10-06 16:00:48 --- .obsidian/workspace.json | 15 +++++++-------- Algo/Courses/Chapter 6 - Lists (Exercises).md | 8 ++++++++ Algo/Courses/Chapter 6 - Lists.md | 19 +++++++++++++++++++ 3 files changed, 34 insertions(+), 8 deletions(-) diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 91e6657..dfc9d46 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -31,8 +31,7 @@ } } } - ], - "currentTab": 1 + ] } ], "direction": "vertical" @@ -98,7 +97,7 @@ "state": { "type": "backlink", "state": { - "file": "Algo/Courses/Chapter 6 - Lists (Exercises).md", + "file": "Algo/Courses/Chapter 6 - Lists.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -115,7 +114,7 @@ "state": { "type": "outgoing-link", "state": { - "file": "Algo/Courses/Chapter 6 - Lists (Exercises).md", + "file": "Algo/Courses/Chapter 6 - Lists.md", "linksCollapsed": false, "unlinkedCollapsed": true } @@ -138,7 +137,7 @@ "state": { "type": "outline", "state": { - "file": "Algo/Courses/Chapter 6 - Lists (Exercises).md" + "file": "Algo/Courses/Chapter 6 - Lists.md" } } }, @@ -169,8 +168,9 @@ "command-palette:Open command palette": false } }, - "active": "eaf65669cfff2a2c", + "active": "c542bf78ebad15cb", "lastOpenFiles": [ + "Algo/Courses/Untitled.md", "Algo/Courses/Chapter 6 - Lists.md", "Algo/Courses/Chapter 6 - Lists (Exercises).md", "Algo/Séminaire/Exercices seminaire.md", @@ -216,7 +216,6 @@ "Algo/Séminaire/Weird stuff.md", "Algo/Séminaire/assets/69E2987C-209A-48CD-8964-5A60462966E5.jpg", "Untitled.canvas", - "2023-09-01.md", - "Cours algo.md" + "2023-09-01.md" ] } \ No newline at end of file diff --git a/Algo/Courses/Chapter 6 - Lists (Exercises).md b/Algo/Courses/Chapter 6 - Lists (Exercises).md index 3174c80..148dc45 100644 --- a/Algo/Courses/Chapter 6 - Lists (Exercises).md +++ b/Algo/Courses/Chapter 6 - Lists (Exercises).md @@ -78,6 +78,14 @@ val nth 'a list -> int -> 'a = let max_tail = max_value tl in if hd > max_tail then hd else max_tail in mv list;; + +(* Correction *) +let maximum = function + [] -> invalid_arg "Pas bô" + | e::t -> + (let rec max_rec m = function + []-> m + |e::t -> max_rec (if e>m then e else m) t in max_rec e t);; ``` ## 1.6 - Bonus second diff --git a/Algo/Courses/Chapter 6 - Lists.md b/Algo/Courses/Chapter 6 - Lists.md index abf7035..3aeb301 100644 --- a/Algo/Courses/Chapter 6 - Lists.md +++ b/Algo/Courses/Chapter 6 - Lists.md @@ -117,3 +117,22 @@ val length : 'a list -> int = ``` +```mermaid +flowchart LR + +A[l] --> |h::t| B[m < h ? ] + +B --> C[m<-h] & D[keep m] + +A --> |"[]"| E[m] +``` + +## Build/modify a list +### Construction method +```Ocaml +# let rec what = function + 0 -> [] + | n -> n::what(n-1);; +val what : int -> int list = + +# what 3;;