Advertisement

华为OD机试题 C++编程题 2022年第四季度 | 100分

阅读量:

**■**题目描述

【字符串筛选排序】

给定一个由N个大小写字母构成的字符串,请按其ASCII码值从低到高进行排序,并找出该字符串中第k小的ASCII码值对应的字母(其中k≥1)。随后,请返回该字母在原始字符串中的位置索引(从零开始计数)。若k超出该串长度,则返回对应的最大ASCII码值字符及其起始位置。若有重复字符,则返回其首次出现的位置索引。

输入描述

  • 第一行字段接受仅包含大写字母和小写字母的一行数据
    • 第二行为参数指定一个正整数k值
      • 允许k值超出该字符串的实际长度范围

输出描述

确定字符串中第k个最低ASCII码对应的字符及其在该字符串中的位置索引。请注意,在这种情况下,默认假设输入为非空合法数据序列。当k超过该字符串长度时,请返回具有最高ASCII码值字符及其位置;若有相同ASCII码值的多个字符,则仅返回最早出现的那个字符及其位置。

示例1 输入输出示例仅供调试,后台判题数据一般不包含示例

输入

AbCdeFG

3

输出

5

说明

  • 按照ASCII码值进行排序,第3个ASCII码值对应的字母是F
    • 字符串中字符的索引是5(其中字符的位置索引从0开始计算)

示例2 输入输出示例仅供调试,后台判题数据一般不包含

全部评论 (0)

还没有任何评论哟~