跳转至

3389. 使字符频率相等的最少操作次数

题目描述

给你一个字符串 s 。

如果字符串 t 中的字符出现次数相等,那么我们称 t 为 好的 。

你可以执行以下操作 任意次 :

  • 从 s 中删除一个字符。
  • 往 s 中添加一个字符。
  • 将 s 中一个字母变成字母表中下一个字母。

注意 ,第三个操作不能将 'z' 变为 'a' 。

请你返回将 s 变  的 最少 操作次数。

 

示例 1:

输入:s = "acab"

输出:1

解释:

删掉一个字符 'a' ,s 变为好的。

示例 2:

输入:s = "wddw"

输出:0

解释:

s 一开始就是好的,所以不需要执行任何操作。

示例 3:

输入:s = "aaabc"

输出:2

解释:

通过以下操作,将 s 变好:

  • 将一个 'a' 变为 'b' 。
  • s 中插入一个 'c' 。

 

提示:

  • 1 <= s.length <= 2 * 104
  • s 只包含小写英文字母。

解法

方法一

1

1

1

1

评论