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

LC-1647. 字符频次唯一的最小删除次数(哈希+计数)

1647. 字符频次唯一的最小删除次数

难度中等56

如果字符串 s不存在 两个不同字符 频次 相同的情况,就称 s优质字符串

给你一个字符串 s,返回使 s 成为 优质字符串 需要删除的 最小 字符数。

字符串中字符的 频次 是该字符在字符串中的出现次数。例如,在字符串 "aab" 中,'a' 的频次是 2,而 'b' 的频次是 1

示例 1:

输入:s = "aab"
输出:0
解释:s 已经是优质字符串。

示例 2:

输入:s = "aaabbbcc"
输出:2
解释:可以删除两个 'b' , 得到优质字符串 "aaabcc" 。
另一种方式是删除一个 'b' 和一个 'c' ,得到优质字符串 "aaabbc" 。

示例 3:

输入:s = "ceabaacb"
输出:2
解释:可以删除两个 'c' 得到优质字符串 "eabaab" 。
注意,只需要关注结果字符串中仍然存在的字符。(即,频次为 0 的字符会忽略不计。)

提示:

  • 1 <= s.length <= 105
  • s 仅含小写英文字母

哈希+计数

哈希计数,统计每个字符串的数量。
在重复的情况下,减1试重

class Solution {public int minDeletions(String s) {int[] cnt = new int[26];for(char c : s.toCharArray()){cnt[c - 'a']++;}int res = 0;Set<Integer> set = new HashSet<>();for(int i = 0; i < cnt.length; i++){int cur = cnt[i];while(cur != 0 && !set.add(cur)){cur--;res++;}}return res;}
}

[简单] 242. 有效的字母异位词【哈希表】【字符串】【排序】【计数】[哈希表 + 计数] [242. 有效的字母异位词]

[简单] 409. 最长回文串【贪心】【哈希表】【字符串】[贪心 哈希表 计数 回文] [409. 最长回文串]

[简单] 819. 最常见的单词【哈希表】【字符串】【计数】[哈希表 + 计数] [819. 最常见的单词]

[简单] 1189. “气球” 的最大数量【哈希表】【字符串】【计数】[哈希表] [1189. “气球” 的最大数量]

[简单] 1252. 奇数值单元格的数目【数学】【模拟】【哈希表】[哈希表 数学] [1252. 奇数值单元格的数目]

[中等] 1347. 制造字母异位词的最小步骤数【哈希表】【计数器】[哈希表 计数器] [1347. 制造字母异位词的最小步骤数]

[中等] 1647. 字符频次唯一的最小删除次数【贪心】【字符串】【排序】[哈希计数] [1647. 字符频次唯一的最小删除次数]

[中等] 1743. 从相邻元素对还原数组【哈希表】[哈希表] [1743. 从相邻元素对还原数组]

[中等] 1887. 使数组元素相等的减少操作次数【数组】【排序】[哈希表 + 计数] [1887. 使数组元素相等的减少操作次数]

[中等] 2131. 连接两字母单词得到的最长回文串【贪心】【数组】【哈希表】【字符串】【计数】[贪心 哈希表 计数] [2131. 连接两字母单词得到的最长回文串]

[中等] 2150. 找出数组中的所有孤独数字【数组】【哈希表】【计数】[哈希 计数] [2150. 找出数组中的所有孤独数字]

[中等] 2186. 使两字符串互为字母异位词的最少步骤数【哈希表】【计数】【字符串】[哈希 + 计数] [2186. 使两字符串互为字母异位词的最少步骤数]

相关文章:

LC-1647. 字符频次唯一的最小删除次数(哈希+计数)

1647. 字符频次唯一的最小删除次数 难度中等56 如果字符串 s 中 不存在 两个不同字符 频次 相同的情况&#xff0c;就称 s 是 优质字符串 。 给你一个字符串 s&#xff0c;返回使 s 成为 优质字符串 需要删除的 最小 字符数。 字符串中字符的 频次 是该字符在字符串中的出现…...

HTTP状态码

100: 接受&#xff0c;正在继续处理 200: 请求成功&#xff0c;并返回数据 201: 请求已创建 202: 请求已接受 203: 请求成为&#xff0c;但未授权 204: 请求成功&#xff0c;没有内容 205: 请求成功&#xff0c;重置内容 206: 请求成功&#xff0c;返回部分内容 301: 永久性重定…...

【Linux】初见“which命令”,“find命令”以及linux执行命令优先级

文章目录1.which命令1.1 whereis命令1.2 locate命令1.3 搜索文件命令总结2.find命令2.1 find之exec用法2.2 管道符之xargs用法3 Linux常用命令4.命令执行优先级1.which命令 查找命令文件存放目录 搜索范围由环境变量PATH决定&#xff08;echo $PATH) which命令格式&#xff1…...

update case when 多字段,多条件, mysql中case when用法

文章目录 前言 sql示例 普通写法&#xff1a; update case when写法 update case when 多字段写法 case when语法 case when 的坑 1、不符合case when条件但是字段被更新为null了 解决方法一&#xff1a;添加where条件 解决方法二&#xff1a;添加else 原样输出 2、同一条数据符…...

mysql隐式转换 “undefined“字符串匹配到mysql int类型0值字段

描述&#xff1a;mysql 用字符串搜索 能搜到int类型查询结果 mysql int类型条件用字符串查询 table: CREATE TABLE all_participate_records (id bigint unsigned NOT NULL AUTO_INCREMENT,created_at datetime(3) DEFAULT NULL,updated_at datetime(3) DEFAULT NULL,deleted…...

Redis八股文

1.Redis是什么? Redis 是一个基于 C 语言开发的开源数据库&#xff08;BSD 许可&#xff09;&#xff0c;与传统数据库不同的是 Redis 的数据是存在内存中的&#xff08;内存数据库&#xff09;&#xff0c;读写速度非常快&#xff0c;被广泛应用于缓存方向。并且&#xff0c…...

InnoDB——详细解释锁的应用,一致性读,自增长与外键

一致性非锁定读 一致性的非锁定读&#xff08;consistent nonlocking read&#xff09;是指InnoDB存储引擎通过行多版本控制的方式读取当前执行时数据库中行的数据。 如果读取的行正在执行 行Delete或Update操作&#xff0c;这时读取操作不会因此去等待行上锁的释放。相反&…...

C++模板基础(四)

函数模板&#xff08;四&#xff09; ● 函数模板的实例化控制 – 显式实例化定义&#xff1a; template void fun(int) / template void fun(int) //header.h template<typename T> void fun(T x) {std::cout << x << std::endl; }//main.cpp #include&quo…...

pycharm使用记录

文章目录下载安装后续其他设置编辑器设置关于debug下载安装 直接去pycharm官网下载社区版&#xff0c;这个版本本来就是免费的&#xff0c;而且功能其实已经够了 后续其他设置 首先&#xff0c;第一次启动时&#xff0c;记得在preference->interpreter中设置python环境&a…...

Linux命令·kill·killall

Linux中的kill命令用来终止指定的进程&#xff08;terminate a process&#xff09;的运行&#xff0c;是Linux下进程管理的常用命令。通常&#xff0c;终止一个前台进程可以使用CtrlC键&#xff0c;但是&#xff0c;对于一个后台进程就须用kill命令来终止&#xff0c;我们就需…...

Linux /proc/version 文件解析

/proc/version文件里面的内容: Linux version 4.14.180-perf (oe-user@oe-host) (clang version 10.0.5 for Android NDK, GNU ld (GNU Binutils) 2.29.1.20180115) #1 SMP PREEMPT Wed Mar 29 18:55:02 CST 2023 /proc/version文件里面记录了如下内容: 1、Linux kernel的…...

【Django 网页Web开发】15. 实战项目:管理员增删改查,md5密码和密码重置(08)(保姆级图文)

目录1. model编写数据表2. 管理员列表2.1 admin.py视图文件2.2 admin_list.html2.3 url.py2.4 最终效果3. 管理员添加3.0 md5包的书写3.1 form.py表单组件3.2 admin.py视图文件3.3 引入公共的添加数据html3.4 url.py3.5 最终效果4. 管理员编辑4.0 form表单组件4.1 admin.py视图…...

STL容器之<array>

文章目录测试环境array介绍头文件模块类定义对象构造初始化元素访问容器大小迭代器其他函数测试环境 系统&#xff1a;ubuntu 22.04.2 LTS 64位 gcc版本&#xff1a;11.3.0 编辑器&#xff1a;vsCode 1.76.2 array介绍 array是固定大小的序列式容器&#xff0c;它包含按严格…...

flask教程6:cookie和session

文章目录一、cookie1.1 什么是cookie&#xff1f;1.2 使用cookie1.2.1 设置cookie1.2.2设置cookie的有效期1.2.3在Flask中查询cookie1.2.4删除cookie二、session2.1实现session的两种思路2.1.1 第一种2.1.2 第二种2.2使用session2.2 .1设置session2.2.2 设置有效期2.2.3 获取se…...

【JavaEE初阶】第六节.网络原理TCP/IP协议

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言 一、TCP/IP协议五层协议栈&#xff1b; 1.1 应用层协议&#xff1b; 二、传输层协议&#xff1b; 2.1 UDP协议&#xff1b; 2.2 TCP协议&#xff1b; 2.…...

模式识别 —— 第六章 支持向量机(SVM)与核(Kernel)

模式识别 —— 第六章 支持向量机&#xff08;SVM&#xff09;与核&#xff08;Kernel&#xff09; 文章目录模式识别 —— 第六章 支持向量机&#xff08;SVM&#xff09;与核&#xff08;Kernel&#xff09;硬间隔&#xff08;Hard-Margin&#xff09;软间隔&#xff08;Soft…...

总结 synchronized

目录synchronized的特性1. 互斥2. 刷新内存3. 可重入synchronized的使用1. 直接修饰普通方法2. 修饰静态方法3. 修饰代码块synchronized的锁机制基本特点关键锁策略 : 锁升级synchronized的特性 1. 互斥 synchronized 会起到互斥效果, 某个线程执行到某个对象的 synchronized…...

360周鸿祎又“开炮”:GPT 6-8就将产生自主意识!我们来测算一下对错

‍数据智能产业创新服务媒体——聚焦数智 改变商业近日&#xff0c;360的周鸿祎放言“GPT6到GPT8人工智能将会产生意识&#xff0c;变成新的物种。未来&#xff0c;人工智能大语言模型有可能实现自我进化&#xff0c;自动更新系统和自我升级&#xff0c;或者指数级进化能力&am…...

python——飞机大战小游戏

目录 1、导入模块 2、窗口操作 3、事件操作 4、长按事件 5、添加游戏背景 6、添加英雄飞机 7、获取飞机的图片矩形 8、基本游戏窗口 9、添加游戏窗口图片 10、英雄飞机登场 11、英雄飞机装备子弹并发射 1、enemy_plane 2、game_main 3、game_map 4、game_score …...

数组(完全二叉树)向下建堆法与堆排序O(N*logN)

TIPS AdjustUp & AdjustDown向上调整AdjustUp与向下调整AdjustDown的参数是一个数组&#xff08;完全二叉树&#xff09;需要进行调整操作的数值的下标/一个数组&#xff08;完全二叉树&#xff09;堆元素个数需要调整操作的数值的下标。实际上就是对完全二叉树当中的某一点…...

深入浅出:从地平线J5的“安全岛”设计,聊聊车规级SoC的功能安全到底在保什么?

地平线J5的"安全岛"设计&#xff1a;车规芯片如何守护生命线&#xff1f; 清晨7点30分&#xff0c;北京五环路上的一辆新能源车正以60公里时速自动跟车行驶。突然&#xff0c;前车急刹&#xff0c;车载摄像头捕捉到这一信号后&#xff0c;视觉处理芯片必须在0.1秒内完…...

VS Code远程开发必备:3分钟搞定SSH免密登录(附常见失败排查)

VS Code远程开发极简指南&#xff1a;SSH免密登录全流程与深度排错 每次连接远程服务器都要输入密码&#xff1f;VS Code的Remote-SSH插件虽然强大&#xff0c;但默认配置下的频繁密码验证确实影响开发效率。本文将带你用3分钟完成密钥对配置&#xff0c;彻底告别密码输入&…...

避开SDR通信的‘坑’:我在用Pluto做16QAM传输时遇到的相位偏移和同步问题

避开SDR通信的‘坑’&#xff1a;我在用Pluto做16QAM传输时遇到的相位偏移和同步问题 第一次用Pluto SDR搭建16QAM通信链路时&#xff0c;我盯着屏幕上扭曲的星座图发呆了半小时——理论上完美的16个星点&#xff0c;在实际接收时却像被无形的手揉成了一团毛线。这种挫败感想必…...

保姆级教程:在RHEL 8上彻底搞定X-Server远程连接,让xeyes不再报‘Error can‘t open display‘

深度解析RHEL 8远程X11连接&#xff1a;从原理到实战的全链路解决方案 当你在RHEL 8服务器上尝试通过SSH转发X11图形界面时&#xff0c;是否遇到过xeyes测试程序报出"Error: Cant open display"的困扰&#xff1f;这看似简单的错误背后&#xff0c;实际上隐藏着新版R…...

【专栏一:AI基础01】-【一张图讲清楚什么是大模型】

专栏一&#xff1a;AI基础入门-什么是大模型&#xff1f;大模型通俗解释大模型通俗解释 我们可以把大模型想象成一个超级大脑&#xff1a; 它在诞生之初&#xff0c;会先阅读人类海量的文字、知识、书籍、网页、对话&#xff0c;把所有信息消化成一套庞大的数学规律和语言逻辑&…...

NaViL-9B效果实测:10类常见图片(图表/证件/包装/截图)理解准确率

NaViL-9B效果实测&#xff1a;10类常见图片理解准确率 1. 模型能力概览 NaViL-9B作为原生多模态大语言模型&#xff0c;在图片理解方面展现出令人印象深刻的能力。不同于传统视觉模型&#xff0c;它不仅能识别图片内容&#xff0c;还能结合上下文进行智能推理和描述。 1.1 核…...

使用VSCode调试TranslateGemma-27B模型调用

使用VSCode调试TranslateGemma-27B模型调用 1. 准备工作与环境配置 在开始调试TranslateGemma-27B模型之前&#xff0c;我们需要先搭建好开发环境。VSCode作为一款轻量级但功能强大的代码编辑器&#xff0c;提供了丰富的调试功能&#xff0c;特别适合深度学习项目的开发调试。…...

Mamba模型实战:如何用S6替代Transformer处理长文本(附代码示例)

Mamba模型实战&#xff1a;如何用S6替代Transformer处理长文本&#xff08;附代码示例&#xff09; 在自然语言处理领域&#xff0c;Transformer架构因其强大的注意力机制而长期占据主导地位。然而&#xff0c;当面对长文本处理任务时&#xff0c;Transformer的二次方计算复杂度…...

变压器匝间短路这玩意儿仿真起来是真刺激。今儿拿COMSOL折腾了个5%短路模型,从电磁场到噪声一条龙全流程,咱们边撸代码边唠嗑

comsol仿真&#xff0c;变压器匝间短路5%的电磁振动噪声模型 包括电磁场分布&#xff0c;磁密分布&#xff0c;振动形变&#xff0c;噪声分布等结果建模第一步得先让线圈支棱起来。在组件里用参数化曲线画线圈特别实用&#xff1a; # 参数化螺旋线 r 0.5 # 半径(m) pitch 0.…...

3步掌握BilibiliDown:B站视频下载全攻略与效率提升指南

3步掌握BilibiliDown&#xff1a;B站视频下载全攻略与效率提升指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader &#x1f633; 项目地址: https://gitcode.com/gh_mirrors/…...