[Golang] DP + memo simple solution
Intuition\n Describe your first thoughts on how to solve this problem. \nWe can check each char add t times.The length will be 1 if it is less than \'z\' .\nOth
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\nWe can check each char add t times.The length will be 1 if it is less than \'z\' .\nOtherwise we should set it to \'a\' && \'b\' and  **t**  will be **t-(26-c)**\n# Approach\n<!-- Describe your approach to solving the problem. -->\n\n# Code\n```golang []\nfunc dfs_lengthAfterTransformations(c int, t int, memo [][26]int) int {\n\tif t <= 0 {\n\t\treturn 1\n\t}\n\tif memo[t][c] != -1 {\n\t\treturn memo[t][c]\n\t}\n\tvar res int = 0\n\tvar MOD int = 1e9 + 7\n\tif c+t >= 26 {\n\t\tres = (dfs_lengthAfterTransformations(0, t-(26-c), memo) + dfs_lengthAfterTransformations(1, t-(26-c), memo)) % MOD\n\t} else {\n\t\tres = 1\n\t}\n\tmemo[t][c] = res\n\treturn memo[t][c]\n}\n\nfunc lengthAfterTransformations(s string, t int) int {\n\tvar l int = len(s)\n\tvar memo [][26]int = make([][26]int, t+1)\n\tfor i := 0; i <= t; i++ {\n\t\tfor j := 0; j < 26; j++ {\n\t\t\tmemo[i][j] = -1\n\t\t}\n\t}\n\tvar res int = 0\n\tvar MOD int = 1e9 + 7\n\tfor i := 0; i < l; i++ {\n\t\tres += dfs_lengthAfterTransformations(int(s[i]-\'a\'), t, memo)\n\t\tres %= MOD\n\t}\n\treturn res\n}\n```
['Dynamic Programming', 'Memoization', 'Go']