717. 1-bit and 2-bit Characters
We have two special characters. The first character can be represented by one bit 0
. The second character can be represented by two bits (10
or 11
).
Now given a string represented by several bits. Return whether the last character must be a one-bit character or not. The given string will always end with a zero.
Example 1:
Input:
bits = [1, 0, 0]
Output: True
Explanation:
The only way to decode it is two-bit character and one-bit character. So the last character is one-bit character.
Example 2:
Input:
bits = [1, 1, 1, 0]
Output: False
Explanation:
The only way to decode it is two-bit character and two-bit character. So the last character is NOT one-bit character.
Note:
1 <= len(bits) <= 1000
.bits[i]
is always0
or1
.
# @lc code=start
using LeetCode
function is_one_bit_character(bits::Vector{Int})::Bool
pos = findlast(x -> x == 0, @view bits[1:(end - 1)])
pos === nothing && return length(bits) % 2 == 1
return (length(bits) - pos) % 2 == 1
end
# @lc code=end
is_one_bit_character (generic function with 1 method)
This page was generated using DemoCards.jl and Literate.jl.