第 481 场周赛Q2——3784. 使所有字符相等的最小删除代价
2026/7/12 3:26:16 网站建设 项目流程

题目链接:3784. 使所有字符相等的最小删除代价(中等)

算法原理:

解法:贪心

3ms击败100.00%

时间复杂度O(N)

正难则反,问题转化:保留总代价最大的字母,其余全删

方法:用数组模拟哈希表找到每个字母的总代价

Java代码:

class Solution { public long minCost(String ss, int[] cost) { //问题转换:保留总代价最大的字母,其余全删 int n=cost.length; //存<字母,总代价>避免贪心出错 long[] total=new long[26]; char[] s=ss.toCharArray(); long sum=0;//记录总和 long max=0;//记录最大值 for(int i=0;i<n;i++){ sum+=cost[i]; total[s[i]-'a']+=cost[i]; } for(int i=0;i<26;i++) max=Math.max(max,total[i]); return sum-max; } }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询