Skip to content

Commit c56bbf2

Browse files
authored
feat: add typescript solution to lc problem: No.2073 (#614)
No.2073.Time Needed to Buy Tickets
1 parent 767d817 commit c56bbf2

File tree

3 files changed

+79
-0
lines changed

3 files changed

+79
-0
lines changed

solution/2000-2099/2073.Time Needed to Buy Tickets/README.md

+28
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,34 @@ class Solution {
9191
}
9292
```
9393

94+
### **TypeScript**
95+
96+
```ts
97+
function timeRequiredToBuy(tickets: number[], k: number): number {
98+
const n = tickets.length;
99+
let target = tickets[k] - 1;
100+
let ans = 0;
101+
// round1
102+
for (let i = 0; i < n; i++) {
103+
let num = tickets[i];
104+
if (num <= target) {
105+
ans += num;
106+
tickets[i] = 0;
107+
} else {
108+
ans += target;
109+
tickets[i] -= target;
110+
}
111+
}
112+
113+
// round2
114+
for (let i = 0; i <= k; i++) {
115+
let num = tickets[i];
116+
ans += (num > 0 ? 1: 0);
117+
}
118+
return ans;
119+
};
120+
```
121+
94122
### **C++**
95123

96124
```cpp

solution/2000-2099/2073.Time Needed to Buy Tickets/README_EN.md

+28
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,34 @@ class Solution {
8282
}
8383
```
8484

85+
### **TypeScript**
86+
87+
```ts
88+
function timeRequiredToBuy(tickets: number[], k: number): number {
89+
const n = tickets.length;
90+
let target = tickets[k] - 1;
91+
let ans = 0;
92+
// round1
93+
for (let i = 0; i < n; i++) {
94+
let num = tickets[i];
95+
if (num <= target) {
96+
ans += num;
97+
tickets[i] = 0;
98+
} else {
99+
ans += target;
100+
tickets[i] -= target;
101+
}
102+
}
103+
104+
// round2
105+
for (let i = 0; i <= k; i++) {
106+
let num = tickets[i];
107+
ans += (num > 0 ? 1: 0);
108+
}
109+
return ans;
110+
};
111+
```
112+
85113
### **C++**
86114

87115
```cpp
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
function timeRequiredToBuy(tickets: number[], k: number): number {
2+
const n = tickets.length;
3+
let target = tickets[k] - 1;
4+
let ans = 0;
5+
// round1
6+
for (let i = 0; i < n; i++) {
7+
let num = tickets[i];
8+
if (num <= target) {
9+
ans += num;
10+
tickets[i] = 0;
11+
} else {
12+
ans += target;
13+
tickets[i] -= target;
14+
}
15+
}
16+
17+
// round2
18+
for (let i = 0; i <= k; i++) {
19+
let num = tickets[i];
20+
ans += (num > 0 ? 1: 0);
21+
}
22+
return ans;
23+
};

0 commit comments

Comments
 (0)