go: add «1404. Number of Steps to Reduce a Number in Binary Representation to One»

Signed-off-by: Matej Focko <me@mfocko.xyz>
This commit is contained in:
Matej Focko 2024-05-29 23:41:59 +02:00
parent 2e2c8a758e
commit af9de3f83b
Signed by: mfocko
GPG key ID: 7C47D46246790496

View file

@ -0,0 +1,18 @@
package number_of_steps_to_reduce_a_number_in_binary_representation_to_one
func numSteps(s string) int {
steps := 0
carry := 0
for i := len(s) - 1; i > 0; i-- {
bit := int(s[i]) + carry
if bit%2 == 1 {
steps += 2
carry = 1
} else {
steps += 1
}
}
return steps + carry
}