新类型字符的定义如下: 1.新类型字符是长度为1或者2的字符串。
表现形式可以仅是小写字母,例如,“e”; 也可以是大写字母+小写字母,例如,“Ab”;还可以是大写字母+大写字母,例如,“DC”。现在给定一个字符串str, str 一定是若干新类型字符 正确组合的结果。比如"eaCCBi",由新类型字符"e"、"a”、"CC"和"Bi"拼成。 再给定一个整数k,代表str中的位置。请返回第k个位置的新类型字符。
输入包含两行,第一行两个整数 n , k ( 1 ≤ n ≤ 1 0 5 , 0 ≤ k ≤ n − 1 ) n,k(1 \leq n \leq 10^5,0 \leq k \leq n-1) n,k(1≤n≤105,0≤k≤n−1),n代表字符串str的长度,第二行包含一个字符串,代表字符串str。
输出包含一个被k位置指定的新型字符。
字符串模拟。基础解法是从前往后遍历,到了k位置就知道是什么字符了。有另一种新颖点的做法,从k-1位置开始往左遍历,遇到第一个小写字母停止,统计大写字母的个数 num :
若 num 为奇数,则新类型字符必定为 str[k-1,k];若 str[k] 为大写字母,则新类型字符为 str[k,k+1];否则的话,新类型字符为 str[k]。注意:题目中的 k 是从0开始的。