Ejemplos:
Entrada: n = 14 Salida: 3 La representación binaria de 14 es 111 0. Entrada: n = 222 Salida: 4 La representación binaria de 222 es 110 1111 0.
Tenemos una solución a este problema, consulte Longitud del 1 secuencial más largo en binario . Podemos solucionar este problema rápidamente en Python. El enfoque es muy simple,
- Convierta decimal a binario usando bin () devuelve la representación binaria de un número en forma de cadena y antepone 0b.
- Separe todas las subcadenas de 1 consecutivos, separados por ceros, usando la cadena método split() .
- Imprime la longitud máxima de las subcadenas divididas desde 1.
# Función para encontrar la longitud del secuencial más largo
# 1 en binario
< clase de código = "comentarios"> # convertir número a binario < /código>
# eliminar los dos primeros caracteres de la línea de salida
entrada
# 1 consecutivos separados por 0, la salida será
# ser como [' 11 ', ' 1111 ']
# map (len, input.split (' 0 ')) - > map map funciones
Función # len en cada subcadena de 1 consecutivo
# max () devuelve el elemento máximo en la lista
imprimir
(
max
(
mapa
input
=
222
maxConsecutive1 (
entrada
)
Salida:
4