Given a number n, the task is to find the largest perfect cube that can be formed by deleting minimum digits(possibly 0) from the number.
X is called a perfect cube if X = Y3 for some Y.
Input : 4125 Output : 125 Explanation 125 = 53. We can form 125 by deleting digit 4 from 4125 Input : 876 Output :8 Explanation 8 = 23. We can form 8 by deleting digits 7 and 6 from 876
We can generate cubes of all numbers till from 1 to N1/3 (We don’t consider 0 as 0 is not considered as a perfect cube). We iterate the cubes from largest to the smallest.
Now if we look at the number n given to us, then we know that this number contains only log(n) + 1 digits, thus we can efficiently approach the problem if we treat this number n as a string hereafter.
While iterating on the perfect cubes, we check if the perfect cube is a subsequence of the number n when its represented as a string.If this is the case then the deletions required for changing the number n to the current perfect cube is:
No of deleted digits = No of digits in number n - Number of digits in current perfect cube
Since we want the largest cube number we traverse the array of preprocessed cubes in reverse order.
Largest Cube that can be formed from 4125 is 125 Largest Cube that can be formed from 876 is 8
Time Complexity of the above algorithm is O(N1/3log(N) log(N) is due to the fact that the number of digits in N are Log(N) + 1.
- Number formed by deleting digits such that sum of the digits becomes even and the number odd
- Find the largest number that can be formed by changing at most K digits
- Find the Largest number with given number of digits and sum of digits
- Percentage increase in volume of the cube if a side of cube is increased by a given percentage
- Find the largest after deleting the given elements
- Find the k largest numbers after deleting the given elements
- Check if number formed by joining two Numbers is Perfect Cube
- Minimum digits to be removed to make either all digits or alternating digits same
- Find maximum number that can be formed using digits of a given number
- Find smallest number formed by inverting digits of given number N
- Count of numbers upto N digits formed using digits 0 to K-1 without any adjacent 0s
- Largest string obtained in Dictionary order after deleting K characters
- Largest number in an array that is not a perfect cube
- Largest perfect cube number in an Array
- Number of times the largest Perfect Cube can be subtracted from N
- Minimum divisor of a number to make the number perfect cube
- Find Nth even length palindromic number formed using digits X and Y
- Largest even number that can be formed by any number of swaps
- Find smallest number with given number of digits and sum of digits
- Find smallest number with given number of digits and sum of digits under given constraints
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.