计算机网站建设和维护行业关键词搜索排名
最近更新的博客
- 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单
- 华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典
- 【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南)
- 华为od机试,独家整理 已参加机试人员的实战技巧
文章目录
- 最近更新的博客
- 使用说明
- 本期题目:第K个最小码值的字母
- 题目
- 输入
- 输出
- 示例一
- 输入
- 输出
- 说明
- 示例一
- 输入
- 输出
- 说明
- Code
使用说明
参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。
华为 OD 清单查看地址:https://blog.csdn.net/hihell/category_12225286.html
华为OD详细说明:https://dream.blog.csdn.net/article/details/128980730
本期题目:第K个最小码值的字母
题目
输入一个由n
个大小写字母组成的字符串
按照ASCII码值从小到大进行排序
查找字符串中第k
个最小ASCII码值的字母(k>=1)
输出该字母所在字符串中的位置索引(字符串的第一个位置索引为0)
k
如果大于字符串长度则输出最大ASCII码值的字母所在字符串的位置索引
如果有重复字母则输出字母的最小位置索引
输入
第一行输入一个由大小写字母组成的字符串
第二行输入k
,k
必须大于0
,k
可以大于输入字符串的长度
输出
输出字符串中第k
个最小ASCII码值的字母所在字符串的位置索引
k
如果大于字符串长度则输出最大ASCII码值的字母所在字符串的位置索引
如果第k
个最小ASCII码值的字母存在重复,则输出该字母的最小位置索引
示例一
输入
AbCdeFG
3
输出
5
说明
根据ASCII码值排序,第三个ASCII码值的字母为F
F
在字符串中位置索引为5
(0为字符串的第一个字母位置索引)
示例一
输入
fAdDAkBbBq
4
输出
6
说明
根据ASCII码值排序前4
个字母为AABB
由于B
重复则只取B的第一个最小位置索引6
而不是第二个B
的位置索引8
Code
#include <stdio.h>
#include <stdlib.h>
#include <string.h>void solveMethod(char* line, int k);int main() {char line[1001];scanf("%[^\n]%*c", line);int k;scanf("%d", &k);solveMethod(line, k);return 0;
}void solveMethod(char* line, int k) {int len = strlen(line);char* list = (char*) malloc(len * sizeof(char));strcpy(list, line);for (int i = 0; i < len; i++) {for (int j = i+1; j < len; j++) {if (list[i] > list[j]) {char tmp = list[i];list[i] = list[j];list[j] = tmp;}}}char c = (k >= len) ? list[len-1] : list[k-1];printf("%d", (int)(strchr(line, c) - line));free(list);
}
📢📢📢📢📢📢
💗 你正在阅读 【梦想橡皮擦】 的博客
👍 阅读完毕,可以点点小手赞一下
🌻 发现错误,直接评论区中指正吧
从订购之日起,案例5年内保证更新
- ⭐️ Python 爬虫 120,点击订购 ⭐️
- ⭐️ 爬虫100例教程,点击订购 ⭐️