题目描述:
输入一个由 n 个大小写字母组成的字符串,按照 Ascii 码值从小到大的排序规则,查找字符串中第 k 个最小
ascii 码值的字母(k >= 1),输出该字母所在字符串的位置索引(字符串的第一个字符位置索引为 0)。
k 如果大于字符串长度,则输出最大 ascii 值的字母所在字符串的位置索引,如果有重复的字母,则输出字母的最小位置索引。
输入描述:
第一行输入一个由大小写字母组成的字符串
第二行输入 k,k 必须大于 0,k 可以大于输入字符串的长度
输出描述:
输出字符串中第 k 个最小 ascii 码值的字母所在字符串的位置索引。k 如果大于字符串长度,则输出最大 ascii 值的字母所
在字符串的位置索引,如果第 k 个最小 ascii 码
值的字母存在重复,则输出该字母的最小位置索引。
示例 1:
输入
AbCdeFG
3
输出
5
解题思路:
先按升序排序,如果给的k大于字符串长度,则k=len(s),遍历字符串,当第i个元素值等于第k个元素时返回索引,return
手撕代码:
s = input()
k = int(input())
try:
s = sorted(s)#先升序排序
if k > len(s):
k = len(s)#如果给的k大于字符串长度,则k=len(s)
for i in range(len(s)):
if s[i] == s[k - 1]:#当第i个元素值等于第k个元素时返回索引
print(i)
return
except:
print("")