Given a 6 digit number, calculate the minimum number of digits that needs to be replaced in order to make the number magical. The number is considered magical if the sum of first three digits equals to the sum of last three digits. In one operation, we can choose a digit at any position and replace it with any arbitrary digit.
Input: 123456 Output: 2 Explanation : Replace 4 with 0 and 5 with 0, then number = 123006, where 1 + 2 + 3 = 0 + 0 + 6, hence number of replacements done = 2 Input: 111000 Output: 1 Explanation: Replace 0 with 3, then number = 111030, where 1 + 1 + 1 = 0 + 3 + 0, hence number of replacements done = 1
The best approach will be to check with all the magical numbers and the number of replacements needed. Run a loop that generates all 6 digit numbers. Check if that number is magical, if it is then simply calculate the number of replacements needs to be done and compare with the ans, if it is smaller then make it the the ans and at the end return ans.
Below is the implementation of the above approach.
Time complexity : O( 10^6)
Auxiliary Space : O(1)
This article is contributed by Raja Vikramaditya. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
- Replace minimal number of characters to make all characters pair wise distinct
- Make a lexicographically smallest palindrome with minimal changes
- Minimum number of given operations required to make two strings equal
- Operations required to make the string empty
- Count of operations to make a binary string"ab" free
- Minimum move to end operations to make all strings equal
- Minimum operations to make frequency of all characters equal K
- Count the number of carry operations required to add two numbers
- Minimum number of operations on a binary string such that it gives 10^A as remainder when divided by 10^B
- Minimal moves to form a string by adding characters or appending string itself
- Minimum number of pairs required to make two strings same
- Number of flips to make binary string alternate | Set 1
- Number of character corrections in the given strings to make them equal
- Minimum number of deletions to make a string palindrome | Set 2
- Minimum number of deletions to make a string palindrome