From 3c4e2ba00776a492a7ccb060435e54b5a34a5188 Mon Sep 17 00:00:00 2001 From: Arnaud Bailly Date: Sun, 26 Jan 2025 09:06:55 +0100 Subject: Improve array shrinking --- pbt/ts/src/index.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'pbt/ts/src') diff --git a/pbt/ts/src/index.ts b/pbt/ts/src/index.ts index 474b656..cf8b7ff 100644 --- a/pbt/ts/src/index.ts +++ b/pbt/ts/src/index.ts @@ -41,11 +41,19 @@ function reverse_is_self_inverse(arr: number[]): boolean { function shrinklist(arr: A[]): A[][] { let result = []; - for (let i = 0; i < arr.length; i++) { + + let tail = arr.slice(1); + let keep1 = arr.slice(); + keep1.splice(1, 1); + result.push(tail,keep1); + + if (arr.length >3) { + let half = Math.floor(arr.length / 2); let copy = arr.slice(); - copy.splice(i, 1); - result.push(copy); + let secondHalf = copy.slice(half); + result.push(secondHalf); } + return result; } -- cgit v1.2.3