Javascript Program to Find Maximum value possible by rotating digits of a given number Last Updated : 10 Feb, 2022 Summarize Comments Improve Suggest changes Share Like Article Like Report Given a positive integer N, the task is to find the maximum value among all the rotations of the digits of the integer N. Examples: Input: N = 657Output: 765Explanation: All rotations of 657 are {657, 576, 765}. The maximum value among all these rotations is 765. Input: N = 7092Output: 9270Explanation:All rotations of 7092 are {7092, 2709, 9270, 0927}. The maximum value among all these rotations is 9270. Approach: The idea is to find all rotations of the number N and print the maximum among all the numbers generated. Follow the steps below to solve the problem: Count the number of digits present in the number N, i.e. upper bound of log10N.Initialize a variable, say ans with the value of N, to store the resultant maximum number generated.Iterate over the range [1, log10(N) - 1] and perform the following steps:Update the value of N with its next rotation.Now, if the next rotation generated exceeds ans, then update ans with the rotated value of NAfter completing the above steps, print the value of ans as the required answer. Below is the implementation of the above approach: JavaScript <script> // JavaScript program for the above approach // Function to find the maximum value // possible by rotations of digits of N function findLargestRotation(num) { // Store the required result let ans = num; // Store the number of digits let len = Math.floor(Math.log10(num) + 1); let x = Math.pow(10, len - 1); // Iterate over the range[1, len-1] for (let i = 1; i < len; i++) { // Store the unit's digit let lastDigit = num % 10; // Store the remaining number num = parseInt(num / 10); // Find the next rotation num += (lastDigit * x); // If the current rotation is // greater than the overall // answer, then update answer if (num > ans) { ans = num; } } // Print the result document.write(ans); } // Driver Code let N = 657; findLargestRotation(N); // This code is contributed by souravmahato348. </script> Output: 765 Time Complexity: O(log10N)Auxiliary Space: O(1) Please refer complete article on Maximum value possible by rotating digits of a given number for more details! Comment More infoAdvertise with us Next Article Javascript Program for Maximum sum of i*arr[i] among all rotations of a given array K kartik Follow Improve Article Tags : JavaScript Technical Scripter 2020 number-digits rotation Similar Reads Maximum value possible by rotating digits of a given number Given a positive integer N, the task is to find the maximum value among all the rotations of the digits of the integer N. Examples: Input: N = 657Output: 765Explanation: All rotations of 657 are {657, 576, 765}. The maximum value among all these rotations is 765. Input: N = 7092Output: 9270Explanati 9 min read Javascript Program to Rotate digits of a given number by K Given two integers N and K, the task is to rotate the digits of N by K. If K is a positive integer, left rotate its digits. Otherwise, right rotate its digits. Examples: Input: N = 12345, K = 2Output: 34512 Explanation: Left rotating N(= 12345) by K(= 2) modifies N to 34512. Therefore, the required 2 min read Javascript Program to Generate all rotations of a number Given an integer n, the task is to generate all the left shift numbers possible. A left shift number is a number that is generated when all the digits of the number are shifted one position to the left and the digit at the first position is shifted to the last.Examples: Input: n = 123 Output: 231 31 2 min read Javascript Program to Find Maximum number of 0s placed consecutively at the start and end in any rotation of a Binary String Given a binary string S of size N, the task is to maximize the sum of the count of consecutive 0s present at the start and end of any of the rotations of the given string S. Examples: Input: S = "1001"Output: 2Explanation:All possible rotations of the string are:"1001": Count of 0s at the start = 0; 5 min read Javascript Program for Maximum sum of i*arr[i] among all rotations of a given array Given an array arr[] of n integers, find the maximum that maximizes the sum of the value of i*arr[i] where i varies from 0 to n-1. Examples: Input: arr[] = {8, 3, 1, 2} Output: 29 Explanation: Lets look at all the rotations, {8, 3, 1, 2} = 8*0 + 3*1 + 1*2 + 2*3 = 11 {3, 1, 2, 8} = 3*0 + 1*1 + 2*2 + 7 min read Find the maximum number formed by swapping digits of same parity Given a number N, the task is to maximize this number by following the given conditions: The odd digit of the number can only be swapped by any odd digit present in the given number.The even digit of the number can only be swapped by any even digit present in the given number. Examples: Input: N = 2 14 min read Like