生成手机版网站,宁波网站推广方案,中国建设银行门户网站,设计制作属于哪个行业文章目录1. 题目2. 解题1. 题目
给你一个字符串 s 和一个整数数组 cost #xff0c;其中 cost[i] 是从 s 中删除字符 i 的代价。
返回使字符串任意相邻两个字母不相同的最小删除成本。
请注意#xff0c;删除一个字符后#xff0c;删除其他字符的成本不会改变。
示例 1其中 cost[i] 是从 s 中删除字符 i 的代价。
返回使字符串任意相邻两个字母不相同的最小删除成本。
请注意删除一个字符后删除其他字符的成本不会改变。
示例 1
输入s abaac, cost [1,2,3,4,5]
输出3
解释删除字母 a 的成本为 3然后得到 abac字符串中相邻两个字母不相同。示例 2
输入s abc, cost [1,2,3]
输出0
解释无需删除任何字母因为字符串中不存在相邻两个字母相同的情况。示例 3
输入s aabaa, cost [1,2,3,4,1]
输出2
解释删除第一个和最后一个字母得到字符串 (aba) 。提示
s.length cost.length
1 s.length, cost.length 10^5
1 cost[i] 10^4
s 中只含有小写英文字母来源力扣LeetCode 链接https://leetcode-cn.com/problems/minimum-deletion-cost-to-avoid-repeating-letters 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 2. 解题
相同的连续字符留下最大花费的
class Solution {
public:int minCost(string s, vectorint cost) {int sum 0, temp cost[0], MAX cost[0];s *;//方便代码处理最后一个位置cost.push_back(0);//方便代码处理for(int i 1; i s.size(); i) {if(s[i] s[i-1])//跟前面一样要删除{temp cost[i];//记录要删除的和MAX max(MAX, cost[i]);//最后留下最大花费的} else{sum temp-MAX;//留下最大花费的temp cost[i];//重置MAX cost[i];//重置}}return sum;}
};408 ms 97.1 MB 我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号Michael阿明一起加油、一起学习进步