Javascript Program for Queries for rotation and Kth character of the given string in constant time Last Updated : 09 Jun, 2022 Comments Improve Suggest changes Like Article Like Report Given a string str, the task is to perform the following type of queries on the given string: (1, K): Left rotate the string by K characters.(2, K): Print the Kth character of the string. Examples: Input: str = "abcdefgh", q[][] = {{1, 2}, {2, 2}, {1, 4}, {2, 7}} Output: d e Query 1: str = "cdefghab" Query 2: 2nd character is d Query 3: str = "ghabcdef" Query 4: 7th character is eInput: str = "abc", q[][] = {{1, 2}, {2, 2}} Output: a Approach: The main observation here is that the string doesn't need to be rotated in every query instead we can create a pointer ptr pointing to the first character of the string and which can be updated for every rotation as ptr = (ptr + K) % N where K the integer by which the string needs to be rotated and N is the length of the string. Now for every query of the second type, the Kth character can be found by str[(ptr + K - 1) % N].Below is the implementation of the above approach: JavaScript <script> // Javascript implementation of the approach var size = 2; // Function to perform the required // queries on the given string function performQueries(str, n, queries, q) { // Pointer pointing to the current starting // character of the string var ptr = 0; // For every query for (var i = 0; i < q; i++) { // If the query is to rotate the string if (queries[i][0] == 1) { // Update the pointer pointing to the // starting character of the string ptr = (ptr + queries[i][1]) % n; } else { var k = queries[i][1]; // Index of the kth character in the // current rotation of the string var index = (ptr + k - 1) % n; // Print the kth character document.write( str[index] + "<br>"); } } } // Driver code var str = "abcdefgh"; var n = str.length; var queries = [ [ 1, 2 ], [ 2, 2 ], [ 1, 4 ], [ 2, 7 ] ]; var q = queries.length; performQueries(str, n, queries, q); </script> Output: d e Time Complexity: O(Q) , Where Q is the number of queriesAuxiliary Space: O(1) Please refer complete article on Queries for rotation and Kth character of the given string in constant time for more details! Comment More infoAdvertise with us Next Article Javascript Program for Queries for rotation and Kth character of the given string in constant time K kartik Follow Improve Article Tags : Strings JavaScript Web Technologies DSA rotation +1 More Practice Tags : Strings Similar Reads Queries for rotation and Kth character of the given string in constant time Given a string str, the task is to perform the following type of queries on the given string: (1, K): Left rotate the string by K characters.(2, K): Print the Kth character of the string. Examples: Input: str = "abcdefgh", q[][] = {{1, 2}, {2, 2}, {1, 4}, {2, 7}} Output: d e Query 1: str = "cdefghab 6 min read Javascript Program for Range sum queries for anticlockwise rotations of Array by K indices Given an array arr consisting of N elements and Q queries of the following two types: 1 K: For this type of query, the array needs to be rotated by K indices anticlockwise from its current state.2 L R: For this query, the sum of the array elements present in the indices [L, R] needs to be calculated 4 min read Javascript Program to Find Mth element after K Right Rotations of an Array Given non-negative integers K, M, and an array arr[ ] consisting of N elements, the task is to find the Mth element of the array after K right rotations. Examples: Input: arr[] = {3, 4, 5, 23}, K = 2, M = 1 Output: 5 Explanation: The array after first right rotation a1[ ] = {23, 3, 4, 5} The array a 8 min read Javascript Program to Count of rotations required to generate a sorted array Given an array arr[], the task is to find the number of rotations required to convert the given array to sorted form.Examples: Input: arr[] = {4, 5, 1, 2, 3}Â Output: 2Â Explanation:Â Sorted array {1, 2, 3, 4, 5} after 2 anti-clockwise rotations. Input: arr[] = {2, 1, 2, 2, 2}Â Output: 1Â Explanation:Â So 4 min read Javascript Program to Find the Mth element of the Array after K left rotations Given non-negative integers K, M, and an array arr[] with N elements find the Mth element of the array after K left rotations. Examples: Input: arr[] = {3, 4, 5, 23}, K = 2, M = 1Output: 5Explanation:Â The array after first left rotation a1[ ] = {4, 5, 23, 3}The array after second left rotation a2[ ] 2 min read Like