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

Commit f34e71c

Browse files
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‎

Lines changed: 10 additions & 1 deletion
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‎

Lines changed: 10 additions & 1 deletion
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
### **...**
Lines changed: 10 additions & 0 deletions
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)

AltStyle によって変換されたページ (->オリジナル) /