Skip to content

Commit 62f11da

Browse files
committed
feat: add solutions to lc problem: No.2632
No.2632.Curry
1 parent 65374d5 commit 62f11da

File tree

3 files changed

+54
-2
lines changed

3 files changed

+54
-2
lines changed

solution/2600-2699/2632.Curry/README.md

+18-1
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,24 @@ curriedLife() === 42
8585
<!-- 这里可写当前语言的特殊实现逻辑 -->
8686

8787
```ts
88-
88+
function curry(fn: Function): Function {
89+
const n = fn.length;
90+
const allArgs: any[] = [];
91+
92+
return function curried(...args: any[]) {
93+
allArgs.push(...args);
94+
if (allArgs.length < n) {
95+
return curried;
96+
}
97+
return fn(...allArgs);
98+
};
99+
}
100+
101+
/**
102+
* function sum(a, b) { return a + b; }
103+
* const csum = curry(sum);
104+
* csum(1)(2) // 3
105+
*/
89106
```
90107

91108
### **...**

solution/2600-2699/2632.Curry/README_EN.md

+18-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,24 @@ curriedLife() === 42
7777
### **TypeScript**
7878

7979
```ts
80-
80+
function curry(fn: Function): Function {
81+
const n = fn.length;
82+
const allArgs: any[] = [];
83+
84+
return function curried(...args: any[]) {
85+
allArgs.push(...args);
86+
if (allArgs.length < n) {
87+
return curried;
88+
}
89+
return fn(...allArgs);
90+
};
91+
}
92+
93+
/**
94+
* function sum(a, b) { return a + b; }
95+
* const csum = curry(sum);
96+
* csum(1)(2) // 3
97+
*/
8198
```
8299

83100
### **...**
+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
function curry(fn: Function): Function {
2+
const n = fn.length;
3+
const allArgs: any[] = [];
4+
5+
return function curried(...args: any[]) {
6+
allArgs.push(...args);
7+
if (allArgs.length < n) {
8+
return curried;
9+
}
10+
return fn(...allArgs);
11+
};
12+
}
13+
14+
/**
15+
* function sum(a, b) { return a + b; }
16+
* const csum = curry(sum);
17+
* csum(1)(2) // 3
18+
*/

0 commit comments

Comments
 (0)