Dada una cadena binaria (con 1s y 0s), escriba un programa que cuente el número de ceros en una cadena dada para que se cumplan las siguientes condiciones:
- Unos y ceros están en una cadena en orden aleatorio
- El uso de declaraciones condicionales como si, si… másy cambiar no están permitidos
- Uso de Añadir/sustraer No se permite
Ejemplos:
Aporte : S = «101101»
Salida: 2Aporte : S = «00101111000»
Salida: 6
Recomendado: pruebe su enfoque {IDE} primero, antes de proceder con la solución.
Acercarse: El problema anterior se puede resolver con la siguiente idea:
Si no se permiten las sentencias condicionales y de contador. Tenemos la opción de Manejo de errores.
Pasos involucrados en la implementación del enfoque:
- Tome una cadena y un contador variable estático que mantenga el conteo en cero.
- Itere a través de cada carácter y conviértalo en un número entero.
- Toma este número y úsalo como denominador del número «0».
- Utilizar el excepción Método de procesamiento tratando de atrapar en un bucle para que cada vez que obtengamos la excepción aritmética, el contador se incremente.
- presione el encimera valor como resultado.
A continuación se muestra la implementación del enfoque anterior:
Java
|
Complejidad del tiempo: A)
cuarto auxiliar: O(1)
Artículos relacionados: