当前位置: 首页 > news >正文

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; }
http://www.jsqmd.com/news/101346/

相关文章:

  • 大麻叶病害缺陷检测数据集介绍-198张图片 智能农业监测 精准病害诊断 作物健康管理 农业科研分析 智能植保机器人 农业教育培训
  • 【OpenCV】Python图像处理几何变换之翻转
  • 无人机视觉定位研究附Matlab代码
  • 破局路侧感知困境:毫米波雷达+相机融合算法如何重塑智能交通
  • LobeChat分享会话链接功能详解:协作从未如此简单
  • 告别“笨重”检测!VA-YOLO算法让疲劳驾驶识别更轻更快更准
  • 小爱音箱智能升级实战:三步打造专属语音助手
  • 如何快速解密网易云NCM音乐文件:面向新手的完整指南
  • 百度网盘提取码智能获取完全解决方案
  • 旧Mac升级终极指南:用OpenCore Legacy Patcher实现macOS更新完美方案
  • 口腔医学X光影像诊断检测数据集介绍-274张图片 临床辅助诊断 牙科影像自动分类 口腔疾病研究 远程医疗系统 医学教育培训
  • 高效集成秘籍:LobeChat对接私有化大模型全流程
  • 无人水下航行器(UUV)仿真研究附Matlab代码
  • C++11 -- 列表初始化与变量类型推导
  • 探索低功耗多频带sub 1G射频芯片NRF905反向电路
  • 易语言夸克网盘操作,一键转存分享 全套源码开源
  • 微信网页版限制突破神器:wechat-need-web插件终极解决方案
  • LobeChat能否支持自动驾驶模拟?交通场景描述与推演
  • [易语言源码] 懒人一键对接免费网验模块完工!利用TX微云实现,含拉黑源码
  • 无锡黑锋 HF5805 40V热插拔、50V耐压、可调限流保护开关技术解析
  • 终极NBTExplorer指南:3步学会我的世界数据编辑
  • AI赋能电力大数据挖掘!三大核心模型破解电网运维与负荷预测难题
  • 混乱市场的新罗盘:解读未来利率定价的全新模型
  • 百度网盘下载加速技术解析:从限速瓶颈到高速下载的完整解决方案
  • 对比测试:LobeChat vs 官方ChatGPT界面谁更胜一筹?
  • 极速烧录!Etcher大文件写入性能暴增300%的终极指南
  • 年会舞台道具全攻略
  • LobeChat邮件助手插件开发教程
  • Video DownloadHelper CoApp 技术架构与部署指南
  • 如何用Applite轻松管理Mac软件:告别复杂命令的终极指南