【编程题目 |100分】字符串筛选排序2021 H1,H2 考试题】


时间限制:C/C++ 1秒,其他语言 2秒

空间限制:C/C++262144K,其他语言524288K

64bit IO Format:%lld


本题可使用本地IDE编码,不能使用本地已有代码,无跳出限制,

编码后请点击”保存并调试“按钮进行代码提交。


题目描述

【字符串筛选排序】

  • 输入一个由N个大小写字母组成的字符串
  • 按照ASCII码值从小到大进行排序
  • 查找字符串中第K个最小ASCII码值的字母(k>=1)
  • 输出该字母所在字符串中的位置索引(字符串的第一个位置索引为0)
  • k如果大于字符串长度则输出最大ASCII码值的字母所在字符串的位置索引
  • 如果有重复字母则输出字母的最小位置索引

输入描述

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

输出描述

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

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

输入

AbCdeFG

3

输出

5

说明

  • 根据ASCII码值排序,第三个ASCII码值的字母为F
  • F在字符串中位置索引为5(0为字符串的第一个字母位置索引)

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


代码实现


C++


剩余50%内容,订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

Python解法一


剩余50%内容,订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

Python解法二


s = input()
k = int(input())

剩余50%内容,订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看