Given an integer X and two strings S1 and S2, the task is to check that string S1 can be converted to the string S2 by shifting characters circular clockwise atmost X times.
Input: S1 = “abcd”, S2 = “dddd”, X = 3
Given string S1 can be converted to string S2 as-
Character “a” – Shift 3 times – “d”
Character “b” – Shift 2 times – “d”
Character “c” – Shift 1 times – “d”
Character “d” – Shift 0 times – “d”
Input: S1 = “you”, S2 = “ara”, X = 6
Given string S1 can be converted to string S2 as –
Character “y” – Circular Shift 2 times – “a”
Character “o” – Shift 3 times – “r”
Character “u” – Circular Shift 6 times – “a”
Approach: The idea is to traverse the string and for each index and find the difference between the ASCII values of the character at the respective indices of the two strings. If the difference is less than 0, then for a circular shift, add 26 to get the actual difference. If for any index, the difference exceeds X, then S2 can’t be formed from S1, otherwise possible.
Below is the implementation of the above approach:
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Find array sum using Bitwise OR after splitting given array in two halves after K circular shifts
- Count of strings that can be formed from another string using each character at-most once
- Number of Counterclockwise shifts to make a string palindrome
- Sort a string lexicographically using triple cyclic shifts
- Count number of ways to convert string S to T by performing K cyclic shifts
- Minimum shifts of substrings of 1s required to group all 1s together in a given Binary string
- Check whether second string can be formed from characters of first string
- Check if a string can be obtained by rotating another string 2 places
- Check if a string can be repeated to make another string
- Check if a string can be converted to another string by replacing vowels and consonants
- Check if a string can be obtained by rotating another string d places
- Check if a string can be obtained by appending subsequences of another string
- Clockwise rotation of Linked List
- Rotate a matrix by 90 degree in clockwise direction without using any extra space
- Check if the given string of words can be formed from words present in the dictionary
- Check if given string can be formed by two other strings or their permutations
- Check whether a binary string can be formed by concatenating given N numbers sequentially
- Check if K palindromic strings can be formed from a given string
- Check if a Palindromic String can be formed by concatenating Substrings of two given Strings
- Check if a given string can be formed using characters of adjacent cells of a Matrix
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 Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.