Class Solution
- java.lang.Object
-
- g1601_1700.s1625_lexicographically_smallest_string_after_applying_operations.Solution
-
public class Solution extends Object
1625 - Lexicographically Smallest String After Applying Operations.Medium
You are given a string
sof even length consisting of digits from0to9, and two integersaandb.You can apply either of the following two operations any number of times and in any order on
s:- Add
ato all odd indices ofs(0-indexed). Digits post9are cycled back to0. For example, ifs = "3456"anda = 5,sbecomes"3951". - Rotate
sto the right bybpositions. For example, ifs = "3456"andb = 1,sbecomes"6345".
Return the lexicographically smallest string you can obtain by applying the above operations any number of times on
s.A string
ais lexicographically smaller than a stringb(of the same length) if in the first position whereaandbdiffer, stringahas a letter that appears earlier in the alphabet than the corresponding letter inb. For example,"0158"is lexicographically smaller than"0190"because the first position they differ is at the third letter, and'5'comes before'9'.Example 1:
Input: s = “5525”, a = 9, b = 2
Output: “2050”
Explanation: We can apply the following operations:
Start: “5525”
Rotate: “2555”
Add: “2454”
Add: “2353”
Rotate: “5323”
Add: “5222”
Add: “5121”
Rotate: “2151”
Add: “2050”
There is no way to obtain a string that is lexicographically smaller then “2050”.
Example 2:
Input: s = “74”, a = 5, b = 1
Output: “24”
Explanation: We can apply the following operations:
Start: “74”
Rotate: “47”
Add: “42”
Rotate: “24”
There is no way to obtain a string that is lexicographically smaller then “24”.
Example 3:
Input: s = “0011”, a = 4, b = 2
Output: “0011”
Explanation: There are no sequence of operations that will give us a lexicographically smaller string than “0011”.
Constraints:
2 <= s.length <= 100s.lengthis even.sconsists of digits from0to9only.1 <= a <= 91 <= b <= s.length - 1
- Add
-
-
Constructor Summary
Constructors Constructor Description Solution()
-