Skip to content

Commit f34e71c

Browse files
committed
feat: add typescript solution to lc problem: No.2311
No.2311.Longest Binary Subsequence Less Than or Equal to K
1 parent 4b0b7f1 commit f34e71c

File tree

3 files changed

+30
-2
lines changed

3 files changed

+30
-2
lines changed

solution/2300-2399/2311.Longest Binary Subsequence Less Than or Equal to K/README.md

+10-1
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,16 @@ func longestSubsequence(s string, k int) int {
158158
### **TypeScript**
159159

160160
```ts
161-
161+
function longestSubsequence(s: string, k: number): number {
162+
let numStr = '';
163+
const n = s.length, m = s.split('').reduce((a, c) => a + Number(c), 0);
164+
for (let i = n - 1; i >= 0; i--) {
165+
const cur = s.charAt(i).concat(numStr);
166+
if (parseInt(cur, 2) > k) break;
167+
numStr = cur;
168+
}
169+
return n - m + numStr.split('').reduce((a, c) => a + Number(c), 0);
170+
};
162171
```
163172

164173
### **...**

solution/2300-2399/2311.Longest Binary Subsequence Less Than or Equal to K/README_EN.md

+10-1
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,16 @@ func longestSubsequence(s string, k int) int {
144144
### **TypeScript**
145145

146146
```ts
147-
147+
function longestSubsequence(s: string, k: number): number {
148+
let numStr = '';
149+
const n = s.length, m = s.split('').reduce((a, c) => a + Number(c), 0);
150+
for (let i = n - 1; i >= 0; i--) {
151+
const cur = s.charAt(i).concat(numStr);
152+
if (parseInt(cur, 2) > k) break;
153+
numStr = cur;
154+
}
155+
return n - m + numStr.split('').reduce((a, c) => a + Number(c), 0);
156+
};
148157
```
149158

150159
### **...**
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
function longestSubsequence(s: string, k: number): number {
2+
let numStr = '';
3+
const n = s.length, m = s.split('').reduce((a, c) => a + Number(c), 0);
4+
for (let i = n - 1; i >= 0; i--) {
5+
const cur = s.charAt(i).concat(numStr);
6+
if (parseInt(cur, 2) > k) break;
7+
numStr = cur;
8+
}
9+
return n - m + numStr.split('').reduce((a, c) => a + Number(c), 0);
10+
};

0 commit comments

Comments
 (0)