news 2026/8/10 0:08:52

Day29~删除一个字符串中出现次数最少的字符(小写字母)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Day29~删除一个字符串中出现次数最少的字符(小写字母)

删除一个字符串中出现次数最少的字符(小写字母)

#include <stdio.h> #include <string.h> #include <stdlib.h> #define MAX_SIZE 1024 // 统计每个字母出现的次数 void sta_str_count(char *str, int *count) { while (*str != '\0') // 遍历整个字符 { count[*str - 'a']++; // 统计次数 str++; // 地址后移 } } // 寻找出现次数最少的那个字母 int small_count(int *count) { int min = 0; // 初始化最小值为0 for (int i = 0; i < 26; i++) // 遍历26个小写字母 { if (count[i] != 0) // 找到第一个出现过的字母 { min = count[i]; // 把第一个出现过的字母的次数赋值给min for (; i < 26; i++) // 从当前i的位置继续遍历剩余字母 { if ((count[i] != 0) && (count[i] < min)) // 若当前字母出现过,且次数比当前min更小,则更新min { min = count[i]; } } return min; // 返回最小值 } } } // 删除这个字符 void del_str(char *src, int min, int *count) { char *temp = src; while (*temp != '\0') // 遍历 { if (count[*temp - 'a'] == min) // 判断当前字母的出现次数是否等于最小值min { char *del = temp; // 临时覆盖数组,指向当前要删除的字符 while (*del != '\0') { *del = *(del + 1); // 删除当前字符 del++; // 指针后移 } } else { src++; temp++; } } *src = '\0'; } int main(int argc, char **argv) { if (argc != 2) { printf("请输入一串字符串\n"); exit(1); } int count[26] = {0}; char str[MAX_SIZE]; strcpy(str, argv[1]); sta_str_count(str, count); // 测试 // for (int i = 0; i < 26; i++) // { // printf("%c : %d\n", 'a' + i, count[i]); // } int min = small_count(count); // 测试 // printf("min = %d\n", min); if (min > 0) { del_str(str, min, count); } printf("str = %s\n", str); return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/7 23:15:20

原神帧率解锁终极指南:彻底告别60帧限制

原神帧率解锁终极指南&#xff1a;彻底告别60帧限制 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock genshin-fps-unlock是一款专为《原神》玩家设计的帧率解锁工具&#xff0c;通过直接修…

作者头像 李华
网站建设 2026/8/9 14:38:36

FreeMove终极指南:快速解决C盘空间不足的免费神器

FreeMove终极指南&#xff1a;快速解决C盘空间不足的免费神器 【免费下载链接】FreeMove Move directories without breaking shortcuts or installations 项目地址: https://gitcode.com/gh_mirrors/fr/FreeMove 还在为C盘爆满而烦恼吗&#xff1f;FreeMove这款开源工具…

作者头像 李华
网站建设 2026/8/9 3:08:23

【C++ 实战】公交路线最少乘车次数计算(核心思路 + 精华解析)

在公交路线规划场景中&#xff0c;“最少乘车次数” 是典型的图论最短路径问题&#xff0c;其核心解法是线路级 BFS&#xff08;广度优先搜索&#xff09; —— 这是比传统车站级 BFS 效率高一个量级的关键思路。本文抛开冗余代码&#xff0c;聚焦核心逻辑与关键设计&#xff0…

作者头像 李华
网站建设 2026/8/8 18:45:06

深扒AI电影解说软件乱象:为什么90%的“一键生成”做不出爆款?

2025年了&#xff0c;如果你还在迷信市面上那些几十块钱的“一键生成”软件&#xff0c;那你大概率正在制造“工业垃圾”。很多试图通过影视解说赛道变现的MCN机构和创业者都踩过这个坑&#xff1a;买了一堆所谓的自动化工具&#xff0c;把电影文件丢进去&#xff0c;文案自动生…

作者头像 李华
网站建设 2026/8/9 22:50:38

DownKyi终极指南:快速掌握B站视频获取完整教程

还在为无法离线观看B站精彩内容而烦恼吗&#xff1f;DownKyi作为一款专业的哔哩哔哩视频获取工具&#xff0c;能够帮你轻松解决这一困扰。本文将为新手用户提供完整的操作指南&#xff0c;让你快速上手这款实用工具。 【免费下载链接】downkyi 哔哩下载姬downkyi&#xff0c;哔…

作者头像 李华
网站建设 2026/8/9 2:36:32

Zotero Style插件完整使用指南:文献管理可视化与智能标签系统

Zotero Style是一款专为学术研究人员设计的Zotero插件&#xff0c;通过可视化阅读进度和智能标签管理&#xff0c;显著提升文献管理效率。该插件集成了多种实用功能&#xff0c;让文献整理工作更加直观便捷。 【免费下载链接】zotero-style zotero-style - 一个 Zotero 插件&am…

作者头像 李华