华为OD机试C卷-- 字符串筛选排序(Java & JS & Python & C)

获取题库不需要订阅专栏,可直接私信我进入CSDN领军人物top1博主的华为OD交流圈观看完整题库、最新面试实况、考试报告等内容以及大佬一对一答疑。
题目描述
输入一个由N个大小写字母组成的字符串
按照ASCII码值从小到大进行排序
查找字符串中第K个最小ASCII码值的字母(k>=1)
输出该字母所在字符串中的位置索引(字符串的第一个位置索引为0)
k如果大于字符串长度则输出最大ASCII码值的字母所在字符串的位置索引
如果有重复字母则输出字母的最小位置索引

输入描述
第一行输入一个由大小写字母组成的字符串
第二行输入k ,k必须大于0 ,k可以大于输入字符串的长度

输出描述
输出字符串中第k个最小ASCII码值的字母所在字符串的位置索引
k如果大于字符串长度则输出最大ASCII码值的字母所在字符串的位置索引
如果第k个最小ASCII码值的字母存在重复 则输出该字母的最小位置索引

题目解析
此题要求对一个由大小写字母组成的字符串进行ASCII码排序后,找到第k个最小ASCII码值的字母在原字符串中的索引位置。需要注意的是,如果k大于字符串长度,则输出ASCII码值最大的字母的索引位置;如果有多个字母拥有相同的ASCII值,输出其中第一个字母的索引位置。

Java算法源码

import java.