From df06fdc5b95a17c826c340616ba3eb68e92f5ed3 Mon Sep 17 00:00:00 2001 From: thinkasany <480968828@qq.com> Date: Thu, 31 Aug 2023 23:21:14 +0800 Subject: [PATCH] feat: add ts solution to lc problem: No.2632 --- solution/2600-2699/2632.Curry/README.md | 12 ++++-------- solution/2600-2699/2632.Curry/README_EN.md | 12 ++++-------- solution/2600-2699/2632.Curry/Solution.ts | 12 ++++-------- 3 files changed, 12 insertions(+), 24 deletions(-) diff --git a/solution/2600-2699/2632.Curry/README.md b/solution/2600-2699/2632.Curry/README.md index f58a3d0d6e26a..2dafef002634f 100644 --- a/solution/2600-2699/2632.Curry/README.md +++ b/solution/2600-2699/2632.Curry/README.md @@ -86,15 +86,11 @@ curriedLife() === 42 ```ts function curry(fn: Function): Function { - const n = fn.length; - const allArgs: any[] = []; - - return function curried(...args: any[]) { - allArgs.push(...args); - if (allArgs.length < n) { - return curried; + return function curried(...args) { + if (args.length >= fn.length) { + return fn(...args); } - return fn(...allArgs); + return (...nextArgs) => curried(...args, ...nextArgs); }; } diff --git a/solution/2600-2699/2632.Curry/README_EN.md b/solution/2600-2699/2632.Curry/README_EN.md index b030798cc737c..4c1602b42726e 100644 --- a/solution/2600-2699/2632.Curry/README_EN.md +++ b/solution/2600-2699/2632.Curry/README_EN.md @@ -80,15 +80,11 @@ curriedLife() === 42 ```ts function curry(fn: Function): Function { - const n = fn.length; - const allArgs: any[] = []; - - return function curried(...args: any[]) { - allArgs.push(...args); - if (allArgs.length < n) { - return curried; + return function curried(...args) { + if (args.length >= fn.length) { + return fn(...args); } - return fn(...allArgs); + return (...nextArgs) => curried(...args, ...nextArgs); }; } diff --git a/solution/2600-2699/2632.Curry/Solution.ts b/solution/2600-2699/2632.Curry/Solution.ts index d06c56595d86f..e1e995f859eac 100644 --- a/solution/2600-2699/2632.Curry/Solution.ts +++ b/solution/2600-2699/2632.Curry/Solution.ts @@ -1,13 +1,9 @@ function curry(fn: Function): Function { - const n = fn.length; - const allArgs: any[] = []; - - return function curried(...args: any[]) { - allArgs.push(...args); - if (allArgs.length < n) { - return curried; + return function curried(...args) { + if (args.length >= fn.length) { + return fn(...args); } - return fn(...allArgs); + return (...nextArgs) => curried(...args, ...nextArgs); }; }