# Count changes in Led Lights to display digits one by one

• Difficulty Level : Easy
• Last Updated : 05 Dec, 2022

Given a number n. Count the number of changes in LED light when display one after another of a given number. (Initially all LED is off). Number is given input in the form of a string.
See this image of seven segment display for better understanding.

Examples:

```Input : n = "082"
Output : 9
We need 6 LED lights to display 0 in seven segment display. We need 7 lights for 8 and 5 lights for 2. So total on/off is 6 + 1 + 2 = 9.

Input : n = "12345"
Output : 7```

Source :Morgan Stanley Interview Set 20

The idea is to pre-compute the led lights required to display a given number. Now iterate the number and keep adding the changes. For the implementation, a basic concept of string hashing is used.

Below is the implementation of above problem.

## C++

 `// CPP program to count number of on offs to``// display digits of a number.``#include``using` `namespace` `std;` `int` `countOnOff(string n)``{``    ``// store the led lights required to display``    ``// a particular number.``    ``int` `Led[] = { 6, 2, 5, 5, 4, 5, 6, 3, 7, 5 };` `    ``int` `len = n.length();` `    ``// compute the change in led and keep``    ``// on adding the change``    ``int` `sum = Led[n[0] - ``'0'``];``    ``for` `(``int` `i = 1; i < len; i++) {``        ``sum = sum + ``abs``(Led[n[i] - ``'0'``] -``              ``Led[n[i - 1] - ``'0'``]);``    ``}` `    ``return` `sum;``}` `// Driver code``int` `main()``{``    ``string n = ``"082"``;``    ``cout << countOnOff(n);``    ``return` `0;``}`

## Java

 `// Java program to count number of on offs to``// display digits of a number.``import` `java.io.*;` `class` `GFG``{``static` `int` `countOnOff(String n)``{``    ``// store the led lights required to display``    ``// a particular number.``    ``int` `Led[] = { ``6``, ``2``, ``5``, ``5``, ``4``, ``5``, ``6``, ``3``, ``7``, ``5` `};` `    ``int` `len = n.length();` `    ``// compute the change in led and keep``    ``// on adding the change``    ``int` `sum = Led[n.charAt(``0``) - ``'0'``];``    ``for` `(``int` `i = ``1``; i < len; i++) {``        ``sum = sum + Math.abs(Led[n.charAt(i) - ``'0'``] -``            ``Led[n.charAt(i - ``1``) - ``'0'``]);``    ``}` `    ``return` `sum;``}` `// Driver code``public` `static` `void` `main(String args[])``{``    ``String n = ``"082"``;``    ``System.out.println( countOnOff(n) );``}``}`

## Python 3

 `# Python3 program to count number of on offs to``# display digits of a number.` `def` `countOnOff(n):` `    ``# store the led lights required to display``    ``# a particular number.``    ``Led ``=` `[ ``6``, ``2``, ``5``, ``5``, ``4``, ``5``, ``6``, ``3``, ``7``, ``5` `]` `    ``leng ``=` `len``(n)` `    ``# compute the change in led and keep``    ``# on adding the change``    ``sum` `=` `Led[``int``(n[``0``]) ``-` `int``(``'0'``)]``    ``for` `i ``in` `range``(``1``,leng):``        ``sum` `=` `(``sum` `+` `abs``(Led[``int``(n[i]) ``-` `int``(``'0'``)]``                ``-` `Led[``int``(n[i ``-` `1``]) ``-` `int``(``'0'``)]))` `    ``return` `sum` `#Driver code``if` `__name__``=``=``'__main__'``:``    ``n ``=` `"082"``    ``print``(countOnOff(n))` `# this code is contributed by``# ash264`

## C#

 `// C# program to count number of on``// offs to display digits of a number.``using` `System;` `class` `GFG``{``public` `static` `int` `countOnOff(``string` `n)``{``    ``// store the led lights required``    ``// to display a particular number.``    ``int``[] Led = ``new` `int``[] {6, 2, 5, 5, 4,``                           ``5, 6, 3, 7, 5};` `    ``int` `len = n.Length;` `    ``// compute the change in led and``    ``// keep on adding the change``    ``int` `sum = Led[n[0] - ``'0'``];``    ``for` `(``int` `i = 1; i < len; i++)``    ``{``        ``sum = sum + Math.Abs(Led[n[i] - ``'0'``] -``                             ``Led[n[i - 1] - ``'0'``]);``    ``}` `    ``return` `sum;``}` `// Driver code``public` `static` `void` `Main(``string``[] args)``{``    ``string` `n = ``"082"``;``    ``Console.WriteLine(countOnOff(n));``}``}` `// This code is contributed by Shrikant13`

## PHP

 ``

## Javascript

 ``

Output

`9`

Time Complexity: O(n), where n is the length of the given string.
Auxiliary Space: O(1), no extra space is added, so it is a constant.

My Personal Notes arrow_drop_up