Alice 和 Bob 正在玩一个游戏。最初,Alice 有一个字符串 word = "a"
。
给定一个正整数 k
和一个整数数组 operations
,其中 operations[i]
表示第 i
次操作的类型。
现在 Bob 将要求 Alice 按顺序执行 所有 操作:
operations[i] == 0
,将 word
的一份 副本追加 到它自身。operations[i] == 1
,将 word
中的每个字符 更改 为英文字母表中的 下一个 字符来生成一个新字符串,并将其 追加 到原始的 word
。例如,对 "c"
进行操作生成 "cd"
,对 "zb"
进行操作生成 "zbac"
。在执行所有操作后,返回 word
中第 k
个字符的值。
注意,在第二种类型的操作中,字符 'z'
可以变成 'a'
。
示例 1:
输入:k = 5, operations = [0,0,0]
输出:"a"
解释:
最初,word == "a"
。Alice 按以下方式执行三次操作:
"a"
附加到 "a"
,word
变为 "aa"
。"aa"
附加到 "aa"
,word
变为 "aaaa"
。"aaaa"
附加到 "aaaa"
,word
变为 "aaaaaaaa"
。示例 2:
输入:k = 10, operations = [0,1,0,1]
输出:"b"
解释:
最初,word == "a"
。Alice 按以下方式执行四次操作:
"a"
附加到 "a"
,word
变为 "aa"
。"bb"
附加到 "aa"
,word
变为 "aabb"
。"aabb"
附加到 "aabb"
,word
变为 "aabbaabb"
。"bbccbbcc"
附加到 "aabbaabb"
,word
变为 "aabbaabbbbccbbcc"
。
提示:
1 <= k <= 1014
1 <= operations.length <= 100
operations[i]
可以是 0 或 1。word
至少有 k
个字符。