Dada una string str que representa un número entero y un led entero que es el recuento de LED disponibles. La tarea es verificar si es posible mostrar el número usando los LED dados.
Tenga en cuenta que se mostrará un dígito tal como se muestra en un LED de 7 segmentos. Si es posible mostrar el número, escriba Sí , de lo contrario, escriba No.
He aquí un ejemplo de pantalla de siete segmentos:
Ejemplos:
Entrada: str = “999”, led = 5
Salida: NO
9 necesita 6 LEDs para mostrarse. Por lo tanto, 999 requerirá 18 LED
Dado que solo hay 5 LED disponibles, no es posible mostrar 999
Entrada: str = «123456789», led = 43
Salida: SÍ
Entrada: str = «123456789», led = 20
Salida: NO
Enfoque: Calcule previamente el número de segmentos utilizados por los dígitos del 0 al 9 y guárdelo. Ahora, para cada elemento de la string, cuente el número de segmentos que utiliza. Ahora, si cuenta ≤ led , imprima SÍ , de lo contrario imprima NO .
El número de segmento utilizado por dígito:
0 -> 6
1 -> 2
2 -> 5
3 -> 5
4 -> 4
5 -> 5
6 -> 6
7 -> 3
8 -> 7
9 -> 6
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ implementation of above approach #include <bits/stdc++.h> using namespace std; // Pre-computed values of segment used by digit 0 to 9. const int seg[10] = { 6, 2, 5, 5, 4, 5, 6, 3, 7, 6 }; // Check if it is possible to display the number string LedRequired(string s, int led) { int count = 0; // Finding sum of the segments used by // each digit of the number for (int i = 0; i < s.length(); ++i) { count += seg[int(s[i]) - 48]; } if (count <= led) return "YES"; else return "NO"; } // Driven Program int main() { string S = "123456789"; int led = 20; // Function call to print required answer cout << LedRequired(S, led) << endl; return 0; }
Java
// Java implementation of the above approach public class GfG{ // Check if it is possible to display the number public static String LedRequired(String s, int led) { // Pre-computed values of segment used by digit 0 to 9. int seg[] = { 6, 2, 5, 5, 4, 5, 6, 3, 7, 6 }; int count = 0; // Finding sum of the segments used by // each digit of the number for (int i = 0; i < s.length(); ++i) { count += seg[(int)(s.charAt(i)) - 48]; } if (count <= led) return "YES"; else return "NO"; } public static void main(String []args){ String S = "123456789"; int led = 20; // Function call to print required answer System.out.println(LedRequired(S, led)); } } // This code is contributed by Rituraj Jain
Python3
# Python3 implementation of above approach # Pre-computed values of segment # used by digit 0 to 9. seg = [ 6, 2, 5, 5, 4, 5, 6, 3, 7, 6 ] # Check if it is possible to # display the number def LedRequired(s, led) : count = 0 # Finding sum of the segments used # by each digit of the number for i in range(len(s)) : count += seg[ord(s[i]) - 48] if (count <= led) : return "YES" else : return "NO" # Driver Code if __name__ == "__main__" : S = "123456789" led = 20 # Function call to print # required answer print(LedRequired(S, led)) # This code is contributed by Ryuga
C#
// C# implementation of the above approach using System; class GFG { // Check if it is possible to display the number public static String LedRequired(string s, int led) { // Pre-computed values of segment // used by digit 0 to 9. int[] seg = { 6, 2, 5, 5, 4, 5, 6, 3, 7, 6 }; int count = 0; // Finding sum of the segments used by // each digit of the number for (int i = 0; i < s.Length; ++i) { count += seg[(int)(s[i]) - 48]; } if (count <= led) return "YES"; else return "NO"; } // Driver Code public static void Main() { string S = "123456789"; int led = 20; // Function call to print required answer Console.WriteLine(LedRequired(S, led)); } } // This code is contributed by Akanksha Rai
PHP
<?php // PHP implementation of above approach // Pre-computed values of segment // used by digit 0 to 9. $seg = array(6, 2, 5, 5, 4, 5, 6, 3, 7, 6 ); // Check if it is possible to display the number function LedRequired($s, $led) { $count = 0; global $seg; // Finding sum of the segments used by // each digit of the number for ($i = 0; $i < strlen($s) ; ++$i) { $count += $seg[ord($s[$i]) - 48]; } if ($count <= $led) return "YES"; else return "NO"; } // Driver Code $S = "123456789"; $led = 20; // Function call to print required answer echo LedRequired($S, $led); // This code is contributed by ihritik ?>
Javascript
<script> // Javascript implementation of above approach // Pre-computed values of segment used by digit 0 to 9. const seg = [ 6, 2, 5, 5, 4, 5, 6, 3, 7, 6 ]; // Check if it is possible to display the number function LedRequired(s, led) { var count = 0; // Finding sum of the segments used by // each digit of the number for (var i = 0; i < s.length; ++i) { count += seg[(s[i]) - 48]; } if (count <= led) return "YES"; else return "NO"; } var S = "123456789"; var led = 20; // Function call to print required answer document.write( LedRequired(S, led) + "<br>"); // This code is contributed by SoumikMondal </script>
NO
Complejidad de tiempo: O(n), donde n es el tamaño de la string dada
Espacio auxiliar: O(10), ya que se utiliza un espacio adicional de tamaño 10 para crear una array
Publicación traducida automáticamente
Artículo escrito por Sanjit_Prasad y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA