Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitf206d2c

Browse files
authored
Improved tasks 2630-2637
1 parentbaef259 commitf206d2c

File tree

10 files changed

+172
-143
lines changed

10 files changed

+172
-143
lines changed

‎src/main/java/g2601_2700/s2619_array_prototype_last/solution.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
declare global{
44
interfaceArray<T>{
5-
last():T|-1;
5+
last():T|-1
66
}
77
}
88

9-
Array.prototype.last=function(){//NOSONAR
9+
Array.prototype.last=function(){//NOSONAR
1010
returnthis.length!==0 ?this[this.length-1] :-1
1111
}
1212

@@ -15,4 +15,4 @@ Array.prototype.last = function () {//NOSONAR
1515
* arr.last(); // 3
1616
*/
1717

18-
export{}
18+
export{}

‎src/main/java/g2601_2700/s2621_sleep/solution.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// #Easy #2023_08_31_Time_40_ms_(99.59%)_Space_42.3_MB_(77.98%)
22

33
asyncfunctionsleep(millis:number):Promise<void>{
4-
awaitnewPromise(resolve=>setTimeout(resolve,millis));
4+
awaitnewPromise((resolve)=>setTimeout(resolve,millis))
55
}
66

77
/*

‎src/main/java/g2601_2700/s2630_memoize_ii/solution.ts

Lines changed: 23 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -3,44 +3,41 @@
33
typeFn=(...params:any)=>any
44

55
functionmemoize(fn:Fn):Fn{
6-
constcache=newMap();
6+
constcache=newMap()
77

8-
returnfunction(...args){
9-
letcurrentCache;
8+
returnfunction(...args){
9+
letcurrentCache
1010
if(cache.has(args.length)){
11-
currentCache=cache.get(args.length);
12-
}
13-
else{
14-
currentCache=newMap();
15-
cache.set(args.length,currentCache);
11+
currentCache=cache.get(args.length)
12+
}else{
13+
currentCache=newMap()
14+
cache.set(args.length,currentCache)
1615
}
1716

18-
for(leti=0,len=args.length;i<=len;i++){
19-
constarg=args[i];
20-
constisEnd=i>=len-1;
17+
for(leti=0,len=args.length;i<=len;i++){
18+
constarg=args[i]
19+
constisEnd=i>=len-1
2120

2221
if(currentCache.has(arg)){
2322
if(isEnd){
24-
returncurrentCache.get(arg);
25-
}
26-
else{
27-
currentCache=currentCache.get(arg);
23+
returncurrentCache.get(arg)
24+
}else{
25+
currentCache=currentCache.get(arg)
2826
}
29-
}
30-
elseif(isEnd){
31-
break;
27+
}elseif(isEnd){
28+
break
3229
}else{
33-
constnewSubCache=newMap();
30+
constnewSubCache=newMap()
3431

35-
currentCache.set(arg,newSubCache);
36-
currentCache=newSubCache;
32+
currentCache.set(arg,newSubCache)
33+
currentCache=newSubCache
3734
}
3835
}
3936

40-
letvalue=fn(...args);
37+
letvalue=fn(...args)
4138

42-
currentCache.set(args[args.length-1],value);
43-
returnvalue;
39+
currentCache.set(args[args.length-1],value)
40+
returnvalue
4441
}
4542
}
4643

@@ -52,7 +49,7 @@ function memoize(fn: Fn): Fn {
5249
* })
5350
* memoizedFn(2, 3) // 5
5451
* memoizedFn(2, 3) // 5
55-
* console.log(callCount) // 1
52+
* console.log(callCount) // 1
5653
*/
5754

58-
export{memoize}
55+
export{memoize}

‎src/main/java/g2601_2700/s2631_group_by/solution.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,21 @@ declare global {
66
}
77
}
88

9-
Array.prototype.groupBy=function<T>(fn:(item:T)=>string){//NOSONAR
10-
constreturnObject:Record<string,T[]>={};
11-
for(constitemofthis){
12-
constkey=fn(item);
13-
if(keyinreturnObject){
14-
returnObject[key].push(item);
15-
}else{
16-
returnObject[key]=[item];
9+
Array.prototype.groupBy=function<T>(fn:(item:T)=>string){//NOSONAR
10+
constreturnObject:Record<string,T[]>={}
11+
for(constitemofthis){
12+
constkey=fn(item)
13+
if(keyinreturnObject){
14+
returnObject[key].push(item)
15+
}else{
16+
returnObject[key]=[item]
17+
}
1718
}
18-
}
19-
returnreturnObject;
20-
};
19+
returnreturnObject
20+
}
2121

2222
/*
2323
* [1,2,3].groupBy(String) // {"1":[1],"2":[2],"3":[3]}
2424
*/
2525

26-
export{}
26+
export{}

‎src/main/java/g2601_2700/s2637_promise_time_limit/solution.ts

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
11
// #Easy #Medium #2023_08_31_Time_53_ms_(93.41%)_Space_42.7_MB_(62.71%)
22

3-
typeFn=(...params:any[])=>Promise<any>;
3+
typeFn=(...params:any[])=>Promise<any>
44

55
functiontimeLimit(fn:Fn,t:number):Fn{
6-
returnasyncfunction(...args:any[]):Promise<any>{
7-
constfns=fn(...args);
8-
consttimeLimitPromise=newPromise((_,reject)=>{
9-
setTimeout(()=>{
10-
reject(newError('Time Limit Exceeded'));
11-
},t);
12-
});
13-
14-
returnPromise.race([fns,timeLimitPromise]);
15-
};
6+
returnasyncfunction(...args:any[]):Promise<any>{
7+
constfns=fn(...args)
8+
consttimeLimitPromise=newPromise((_,reject)=>{
9+
setTimeout(()=>{
10+
reject(newError('Time Limit Exceeded'))
11+
},t)
12+
})
13+
returnPromise.race([fns,timeLimitPromise])
14+
}
1615
}
1716

1817
/*

‎src/test/java/g2601_2700/s2630_memoize_ii/solution.test.ts

Lines changed: 36 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,34 +3,55 @@ import { memoize } from 'src/main/java/g2601_2700/s2630_memoize_ii/solution'
33
import{expect,test}from'vitest'
44

55
test('memoize',()=>{
6-
letgetInputs=()=>[[2,2],[2,2],[1,2]]
7-
letresults=[4,4,3]
8-
letfn=function(a,b){returna+b;}
6+
letgetInputs=()=>[
7+
[2,2],
8+
[2,2],
9+
[1,2],
10+
]
11+
letresults=[4,4,3]
12+
letfn=function(a,b){
13+
returna+b
14+
}
915
letmemorized=memoize(fn)
1016
letinputs=getInputs()
11-
for(leti=0;i<inputs.length;i++){
12-
expect(memorized(...inputs[i])).toEqual(results[i])
17+
for(leti=0;i<inputs.length;i++){
18+
expect(memorized(...inputs[i])).toEqual(results[i])
1319
}
1420
})
1521

1622
test('memoize2',()=>{
17-
letgetInputs=()=>[[{},{}],[{},{}],[{},{}]]
18-
letresults=[{},{},{}]
19-
letfn=function(a,b){return({...a, ...b});}
23+
letgetInputs=()=>[
24+
[{},{}],
25+
[{},{}],
26+
[{},{}],
27+
]
28+
letresults=[{},{},{}]
29+
letfn=function(a,b){
30+
return{ ...a, ...b}
31+
}
2032
letmemorized=memoize(fn)
2133
letinputs=getInputs()
22-
for(leti=0;i<inputs.length;i++){
23-
expect(memorized(...inputs[i])).toEqual(results[i])
34+
for(leti=0;i<inputs.length;i++){
35+
expect(memorized(...inputs[i])).toEqual(results[i])
2436
}
2537
})
2638

2739
test('memoize3',()=>{
28-
letgetInputs=()=>{consto={};return[[o,o],[o,o],[o,o]];}
29-
letresults=[{},{},{}]
30-
letfn=function(a,b){return({...a, ...b});}
40+
letgetInputs=()=>{
41+
consto={}
42+
return[
43+
[o,o],
44+
[o,o],
45+
[o,o],
46+
]
47+
}
48+
letresults=[{},{},{}]
49+
letfn=function(a,b){
50+
return{ ...a, ...b}
51+
}
3152
letmemorized=memoize(fn)
3253
letinputs=getInputs()
33-
for(leti=0;i<inputs.length;i++){
34-
expect(memorized(...inputs[i])).toEqual(results[i])
54+
for(leti=0;i<inputs.length;i++){
55+
expect(memorized(...inputs[i])).toEqual(results[i])
3556
}
3657
})

‎src/test/java/g2601_2700/s2631_group_by/solution.test.ts

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -4,43 +4,43 @@ import { expect, test } from 'vitest'
44

55
test('groupBy',()=>{
66
letfn=function(item){
7-
returnitem.id;
8-
}
9-
letarray=[
10-
{"id":"1"},
11-
{"id":"1"},
12-
{"id":"2"}
13-
].groupBy(fn)
7+
returnitem.id
8+
}
9+
letarray=[{id:'1'},{id:'1'},{id:'2'}].groupBy(fn)
1410
letresult={
15-
"1":[{"id":"1"},{"id":"1"}],
16-
"2":[{"id":"2"}]
17-
}
11+
'1':[{id:'1'},{id:'1'}],
12+
'2':[{id:'2'}],
13+
}
1814
expect(array).toEqual(result)
1915
})
2016

2117
test('groupBy2',()=>{
2218
letfn=function(list){
23-
returnString(list[0]);
24-
}
19+
returnString(list[0])
20+
}
2521
letarray=[
26-
[1,2,3],
27-
[1,3,5],
28-
[1,5,9]
29-
].groupBy(fn)
22+
[1,2,3],
23+
[1,3,5],
24+
[1,5,9],
25+
].groupBy(fn)
3026
letresult={
31-
"1":[[1,2,3],[1,3,5],[1,5,9]]
32-
}
27+
'1':[
28+
[1,2,3],
29+
[1,3,5],
30+
[1,5,9],
31+
],
32+
}
3333
expect(array).toEqual(result)
3434
})
3535

3636
test('groupBy3',()=>{
3737
letfn=function(n){
38-
returnString(n>5);
39-
}
38+
returnString(n>5)
39+
}
4040
letarray=[1,2,3,4,5,6,7,8,9,10].groupBy(fn)
4141
letresult={
42-
"true":[6,7,8,9,10],
43-
"false":[1,2,3,4,5]
44-
}
42+
true:[6,7,8,9,10],
43+
false:[1,2,3,4,5],
44+
}
4545
expect(array).toEqual(result)
4646
})

‎src/test/java/g2601_2700/s2634_filter_elements_from_array/solution.test.ts

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,25 @@ import { filter } from 'src/main/java/g2601_2700/s2634_filter_elements_from_arra
33
import{expect,test}from'vitest'
44

55
test('filter',()=>{
6-
letarr=[0,10,20,30]
7-
letfn=functiongreaterThan10(n){returnn>10;}
8-
expect(filter(arr,fn)).toEqual([20,30])
6+
letarr=[0,10,20,30]
7+
letfn=functiongreaterThan10(n){
8+
returnn>10
9+
}
10+
expect(filter(arr,fn)).toEqual([20,30])
911
})
1012

1113
test('filter2',()=>{
12-
letarr=[-2,-1,0,1,2]
13-
letfn=functionplusOne(n){returnn+1}
14-
expect(filter(arr,fn)).toEqual([-2,0,1,2])
14+
letarr=[-2,-1,0,1,2]
15+
letfn=functionplusOne(n){
16+
returnn+1
17+
}
18+
expect(filter(arr,fn)).toEqual([-2,0,1,2])
1519
})
1620

1721
test('filter3',()=>{
18-
letarr=[1,2,3]
19-
letfn=functionfirstIndex(n,i){returni===0;}
20-
expect(filter(arr,fn)).toEqual([1])
22+
letarr=[1,2,3]
23+
letfn=functionfirstIndex(n,i){
24+
returni===0
25+
}
26+
expect(filter(arr,fn)).toEqual([1])
2127
})

‎src/test/java/g2601_2700/s2635_apply_transform_over_each_element_in_array/solution.test.ts

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,25 @@ import { map } from 'src/main/java/g2601_2700/s2635_apply_transform_over_each_el
33
import{expect,test}from'vitest'
44

55
test('map',()=>{
6-
letarr=[1,2,3]
7-
letfn=functionplusone(n){returnn+1;}
8-
expect(map(arr,fn)).toEqual([2,3,4])
6+
letarr=[1,2,3]
7+
letfn=functionplusone(n){
8+
returnn+1
9+
}
10+
expect(map(arr,fn)).toEqual([2,3,4])
911
})
1012

1113
test('map2',()=>{
12-
letarr=[1,2,3]
13-
letfn=functionplusI(n,i){returnn+i;}
14-
expect(map(arr,fn)).toEqual([1,3,5])
14+
letarr=[1,2,3]
15+
letfn=functionplusI(n,i){
16+
returnn+i
17+
}
18+
expect(map(arr,fn)).toEqual([1,3,5])
1519
})
1620

1721
test('map3',()=>{
18-
letarr=[10,20,30]
19-
letfn=functionconstant(){return42;}
20-
expect(map(arr,fn)).toEqual([42,42,42])
22+
letarr=[10,20,30]
23+
letfn=functionconstant(){
24+
return42
25+
}
26+
expect(map(arr,fn)).toEqual([42,42,42])
2127
})

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp