小慕正在调试一个故障键盘,其中有2个按键失灵。当按下这些按键时,屏幕上会连续输出其他字符两次。具体情况如下: - 按下j键一次,屏幕上显示uu(两个连续的u);按下b键一次,屏幕上显示tt(两个连续的t) - u键和t键是正常的,按下u键一次时,屏幕只会显示一次u;按下t键一次时,屏幕只会显示一次t - 规定屏幕上连续显示两个t一定是因为按了一次b键,而不是两次t键;同时假设按了t键之后不会紧接着按b,即tttt会被解释为两个b,而不是tbt;u和j的情况同理 - 其他按键均正常工作 为了方便排查,小慕拿到一串屏幕上实际输出的字符串,需要按照按键次数从高到低排序输出。如果次数相同,则按键对应的原字符按升序排列(失灵按键以它们原本对应的字符为准)。只统计按键次数大于0的按键。 此外,小慕在输出时还需要进行一次字符映射转换,规则如下: - 按键0-9,直接以数字0-9输出 - 按键a-z,以10-35输出
提示:带虚线的词点一下有通俗解释。
输入描述
一个字符串s,只包含小写字母和数字,s的长度不超过500(s中不包含b和j字母)。
输出描述
{按键转义后的值,按键次数}构成结果对,所有按键的结果对按照按键次数降序排列(输出实际是二维数组,第二维固定长度2)。
示例
示例 1
输入
t
输出
[[29, 1]]
说明:单个 t 是按了 t 键,转义值 t=29
示例 2
输入
uuuua
输出
[[19, 2], [10, 1]]
说明:处理过程: - uu(第1-2位)→ 匹配"uu"模式 → 按了 j 键(不是u键!) - uu(第3-4位)→ 匹配"uu"模式 → 按了 j 键(不是u键!) - a(第5位)→ 单个字符 → 按了 a 键 j键转义为19,a键转义为10 注意:题目约束了,u键之后不会紧跟着j键,因此不可能是u->j->u
时间限制 1000 ms · 内存限制 128 MB