#2311

Longest Binary Subsequence Less Than or Equal to K

specialist · 830 · lc medium +31 · verified · 52.8% accepted · 1,144 likes · top 43%

Description

You are given a binary string s and a positive integer k.

Find the longest subsequence of s whose binary interpretation is at most k.

Note:

- The subsequence may have leading zeros.

- The empty string has value 0.

- A subsequence is formed by removing some or no characters without changing the order of the rest.

Example 1:

Input: s = "1001010", k = 5
Output: 5
Explanation: The longest subsequence of s that makes up a binary number less than or equal to 5 is "00010", as this number is equal to 2 in decimal.
Note that "00100" and "00101" are also possible, which are equal to 4 and 5 in decimal, respectively.
The length of this subsequence is 5, so 5 is returned.

Example 2:

Input: s = "00101001", k = 1
Output: 6
Explanation: "000001" is the longest subsequence of s that makes up a binary number less than or equal to 1, as this number is equal to 1 in decimal.
The length of this subsequence is 6, so 6 is returned.

Code

1
2
3