Skip to content

Commit 76ce797

Browse files
authored
Create counter-ii.ts
1 parent 4f98f47 commit 76ce797

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

TypeScript/counter-ii.ts

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
// Time: ctor: O(1)
2+
// increment: O(1)
3+
// decrement: O(1)
4+
// reset: O(1)
5+
// Space: O(1)
6+
7+
// design
8+
class Counter {
9+
init: number;
10+
curr: number;
11+
constructor(init: number) {
12+
this.curr = this.init = init;
13+
}
14+
15+
increment() {
16+
return ++this.curr;
17+
}
18+
19+
decrement() {
20+
return --this.curr;
21+
}
22+
23+
reset() {
24+
return this.curr = this.init;
25+
}
26+
};
27+
28+
function createCounter(init: number) {
29+
return new Counter(init);
30+
};

0 commit comments

Comments
 (0)