Lexicographically Smallest String After Applying Operations
Intuition\n Describe your first thoughts on how to solve this problem. \n\n# Approach\n Describe your approach to solving the problem. \n\n# Complexity\n- Time 
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity:\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity:\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```golang []\nfunc findLexSmallestString(s string, a int, b int) string {\n\tq := []string{s}\n\tvis := map[string]bool{s: true}\n\tans := s\n\tn := len(s)\n\tfor len(q) > 0 {\n\t\ts = q[0]\n\t\tq = q[1:]\n\t\tif ans > s {\n\t\t\tans = s\n\t\t}\n\t\tt1 := []byte(s)\n\t\tfor i := 1; i < n; i += 2 {\n\t\t\tt1[i] = byte((int(t1[i]-\'0\')+a)%10 + \'0\')\n\t\t}\n\t\tt2 := s[n-b:] + s[:n-b]\n\t\tfor _, t := range []string{string(t1), t2} {\n\t\t\tif !vis[t] {\n\t\t\t\tvis[t] = true\n\t\t\t\tq = append(q, t)\n\t\t\t}\n\t\t}\n\t}\n\treturn ans\n}\n```
['Go']