Skip to content
Related Articles

Related Articles

Javascript Program for Check whether all the rotations of a given number is greater than or equal to the given number or not

View Discussion
Improve Article
Save Article
Like Article
  • Last Updated : 25 May, 2022

Given an integer x, the task is to find if every k-cycle shift on the element produces a number greater than or equal to the same element. 
A k-cyclic shift of an integer x is a function that removes the last k digits of x and inserts them in its beginning. 
For example, the k-cyclic shifts of 123 are 312 for k=1 and 231 for k=2. Print Yes if the given condition is satisfied else print No.
Examples: 
 

Input: x = 123 
Output : Yes 
The k-cyclic shifts of 123 are 312 for k=1 and 231 for k=2. 
Both 312 and 231 are greater than 123.
Input: 2214 
Output: No 
The k-cyclic shift of 2214 when k=2 is 1422 which is smaller than 2214 
 

 

Approach: Simply find all the possible k cyclic shifts of the number and check if all are greater than the given number or not.
Below is the implementation of the above approach: 
 

Javascript




<script>
 
// javascript implementation of the approach
function CheckKCycles(n, s)
{
    var ff = true;
    var x = 0;
    for (i = 1; i < n; i++)
    {
 
        // Splitting the number at index i
        // and adding to the front
        x = (s.substring(i) + s.substring(0, i)).length;
 
        // Checking if the value is greater than
        // or equal to the given value
        if (x >= s.length)
        {
            continue;
        }
        ff = false;
        break;
    }
    if (ff)
    {
        document.write("Yes");
    }
    else
    {
        document.write("No");
    }
}
 
// Driver code
    var n = 3;
    var s = "123";
    CheckKCycles(n, s);
 
// This code is contributed by 29AjayKumar
</script>


Output: 

Yes

 

Time Complexity: O(N2), where N represents the length of the given string.

The time complexity of the program is O(N2) because first it runs a loop for traversing the string and inside that substring function is used.

Auxiliary Space: O(1), no extra space is required, so it is a constant.

Please refer complete article on Check whether all the rotations of a given number is greater than or equal to the given number or not for more details!


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!