首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
黑兔子
软件开发
·
1年前
关注
屏蔽作者: 黑兔子
举报
#刷题交流#
打卡第19天,小U得到一个只包含小写字母的字符串 S。她可以执行如下操作:每次选择字符串中两个相同的字符删除,然后在字符串末尾添加一个任意的小写字母。小U想知道,最少需要多少次操作才能使得字符串中的所有字母都不相同?解题思路:需要计算每个字符在字符串中出现的次数。然后,对于每个字符,如果它出现了超过一次,我们就需要执行删除操作来减少它的出现次数到1或者完全移除它。每次删除两个相同的字符后,我们可以添加任意一个小写字母,但这个新添加的字母不会影响我们使所有字母不相同的最终目标,因为我们可以在每一步都选择一个当前不在字符串中的字母添加。具体来说,如果我们有一个字符出现了n次(n > 1),那么为了使得该字符只出现一次,我们需要进行(n-1)/2次操作(因为每次操作可以删除两个字符)。如果n是奇数,我们会剩下1个字符;如果是偶数,则会正好全部删除。但是由于题目要求最少的操作次数,所以我们应该尽量保留一个字符而不是完全删除。
展开
分享
评论
点赞
相关推荐
#刷题交流#
【系统任务全新升级|黄金矿工挖矿石啦】jym!豆包MarsCode AI 刷题功能现已接入掘金社区「每日签到」—「我的任务」板块。无需下载,操作简单便捷。首次完成刷题任务,即可获得 10000 矿石奖励!在 12 月 5 日至 12 月 31 日活动期间,每日任务同步上线。只要完成每日任务,亦可收获 3000 矿石奖励~还有「黄金矿工上班任务」等你来完成。年终福利不容错过!「我的任务」直通车:
juejin.cn
「黄金矿工上班卡」还可沸点打卡赢矿石!活动详情见:
juejin.cn
58 赞 ·
36 评论
#刷题交流#
今日刷题攻略:掌握了哈夫曼编码的原理,数据压缩的效率大大提高了。
45 赞 ·
11 评论
#刷题交流#
打卡第一天:思路是使用哈希表(map)来记录每个数字出现的次数,然后遍历哈希表找到只出现一次的数字。但我觉得不是最好,毕竟还要遍历一次map!!!
44 赞 ·
12 评论