LeetCode 1578. 避免重复字母的最小删除成本

文章目录

    • 1. 题目
    • 2. 解题

1. 题目

给你一个字符串 s 和一个整数数组 cost ,其中 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, vector<int>& 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阿明),一起加油、一起学习进步!
Michael阿明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/474104.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

hdu2709 Sumsets 递推

题目链接&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid2709 感觉很经典的一道递推题 自己想了有半天的时间了。。。。比较弱。。。。 思路&#xff1a; 设f[n]表示和为n的组合数&#xff1b; 那么 当n为奇数时&#xff0c;很简单&#xff0c;相当于在f[n-1]的每一个…

python入门字符串

python 字符串str&#xff0c; ‘’, ‘’ ‘’, ‘’’ ‘’’;python没有字符&#xff0c;只有字符串hh 切片 字符串不可以修改&#xff0c;修改的话&#xff0c;类似于tuple, 修改的话&#xff0c; 只可以整体修改 tuple 也是可这样&#xff0c; 确切的说只是修改了指针…

阿里云 超级码力在线编程大赛初赛 第4场 题目3. from start to end

文章目录1. 题目2. 解题1. 题目 样例1&#xff1a; 输入&#xff1a; "abcd" "bcda" 输出&#xff1a; true样例2&#xff1a; 输入&#xff1a; "abcd" "abdc" 输出&#xff1a; false来源&#xff1a;https://tianchi.aliyun.com/oj…

Codeforces Round #697 (Div.3) A~G解题报告与解法证明

题目大体概括 A #include <cstdio> #include <cstring> #include <algorithm> #include <iostream> using namespace std;typedef long long LL; const int N 500; LL a[N]; int sz; bool Check(LL n) {for (int i 0; i < sz; i ){if (n a[i])…

python网络编辑 socket篇

Python之路&#xff1a; socket篇 Socket 网络上的两个程序通过一个双向的通信连接实现数据的交换&#xff0c;这个连接的一端称为一个socket&#xff0c;作为BSD UNIX的进程通信机制&#xff0c;通常也称做“套接字” &#xff0c;是一个通信链的句柄&#xff0c;实现不同程序…

Codeforces Round #698 (Div. 2) A-E解题报告与解法证明

Codeforces Round #698 (Div. 2) A-E解题报告与解法证明 题目解法总体概括 A Nezzar and Colorful Balls #include <bits/stdc.h> using namespace std;const int N 110; int a[N], f[N];int main() {int t; cin >> t;while (t -- ){static int n;scanf("%…

python开始之路—基础中的基础

python之路&#xff1a; 基础篇 一、Python 1、python是怎么来的 是在1989年吉多范罗苏姆&#xff0c;在圣诞节的时候闲着无聊自己用C语言开发的&#xff0c;一个脚本解释程序&#xff0c;作为ABC语言的一种继承。 2、有哪些公司在用 Youtube、Dropbox、BT、Quor…

第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛(同步赛)解题报告

第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛&#xff08;同步赛&#xff09; 题目总结 A题 切蛋糕 题目信息 解题思路 如果我们将 1/k展开到二进制的形式&#xff0c;那么就可以计算出 需要 多少块1/(2^i) 蛋糕&#xff0c;因此就可以创建出分割的方案&#xff0c;最后进行…

02.改善深层神经网络:超参数调试、正则化以及优化 W2.优化算法

文章目录1. Mini-batch 梯度下降2. 理解 mini-batch 梯度下降3. 指数加权平均数4. 理解指数加权平均数5. 指数加权平均的偏差修正6. 动量Momentum梯度下降法7. RMSprop8. Adam 优化算法9. 学习率衰减10. 局部最优的问题作业参考&#xff1a; 吴恩达视频课 深度学习笔记 1. Min…

PowerDesigner建数据库模型增加自定义扩展属性

PowerDesigner自7.x新增加一个特性&#xff0c;就是允许用户通过扩展模型的方式扩展模型的属性,但到底怎用一直搞不清楚&#xff0e;今天和同事商量准备直接在程序的Metadata信息实现上直接使用pdm时&#xff0c;我们需要对其进行扩展&#xff0c;因此又碰到这个问题&#xff0…

python初级进阶篇

python之路&#xff1a;进阶篇 一、作用域 在Python 2.0及之前的版本中&#xff0c;Python只支持3种作用域&#xff0c;即局部作用域&#xff0c;全局作用域&#xff0c;内置作用域&#xff1b;在Python 2.2中&#xff0c;Python正式引入了一种新的作用域 --- 嵌套作用域&#…

Educational Codeforces Round 103 (Rated for Div. 2)A~E解题报告

Educational Codeforces Round 103 (Rated for Div. 2) A. K-divisible Sum 原题信息 解题思路 AC代码 #include <bits/stdc.h> using namespace std;typedef long long LL; const int N 100010;int main() {int t; cin >> t;while (t -- ){static LL n, k;sc…

LeetCode 967. 连续差相同的数字(BFS/DFS)

文章目录1. 题目2. 解题2.1 DFS2.2 BFS1. 题目 返回所有长度为 N 且满足其每两个连续位上的数字之间的差的绝对值为 K 的非负整数。 请注意&#xff0c;除了数字 0 本身之外&#xff0c;答案中的每个数字都不能有前导零。 例如&#xff0c;01 因为有一个前导零&#xff0c;所…

android中的简单animation(三)accelerate(加速),decelerate(减速),anticipate,overshoot,bounce...

animation_3.xml: 1 <?xml version"1.0" encoding"utf-8"?>2 <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"3 android:orientation"vertical"4 android:padding"10dip"5 …

02.改善深层神经网络:超参数调试、正则化以及优化 W2.优化算法(作业:优化方法)

文章目录1. 梯度下降2. mini-Batch 梯度下降3. 动量4. Adam5. 不同优化算法下的模型5.1 Mini-batch梯度下降5.2 带动量的Mini-batch梯度下降5.3 带Adam的Mini-batch梯度下降5.4 对比总结测试题&#xff1a;参考博文 笔记&#xff1a;02.改善深层神经网络&#xff1a;超参数调试…

Codeforces Round #697 (Div. 3)A~G解题报告

Codeforces Round #697 (Div. 3)A~G解题报告 题 A Odd Divisor 题目介绍 解题思路 乍一想本题&#xff0c;感觉有点迷迷糊糊&#xff0c;但是证难则反&#xff0c;直接考虑没有奇数因子的情况&#xff0c;即 N 2i2^{i}2i,那么当N ! 2i2^i2i时&#xff0c;就有 奇数因子 注意…

LeetCode 1048. 最长字符串链(哈希+DP)

文章目录1. 题目2. 解题1. 题目 给出一个单词列表&#xff0c;其中每个单词都由小写英文字母组成。 如果我们可以在 word1 的任何地方添加一个字母使其变成 word2&#xff0c;那么我们认为 word1 是 word2 的前身。 例如&#xff0c;“abc” 是 “abac” 的前身。 词链是单词…

LeetCode第45场双周赛-解题报告

LeetCode第45场双周赛-解题报告 A. 唯一元素的和 原题链接 https://leetcode-cn.com/problems/sum-of-unique-elements/ 解题思路 因为数据范围比较小&#xff0c;可以直接模拟&#xff0c;如果出现一次就加上去。 或者是直接map打表也可以 AC代码 暴力 class Soluti…

LeetCode 1034. 边框着色(BFS/DFS)

文章目录1. 题目2. 解题2.1 BFS2.2 DFS1. 题目 给出一个二维整数网格 grid&#xff0c;网格中的每个值表示该位置处的网格块的颜色。 只有当两个网格块的颜色相同&#xff0c;而且在四个方向中任意一个方向上相邻时&#xff0c;它们属于同一连通分量。 连通分量的边界是指连…

Codeforces Round #693 (Div. 3)A~G解题报告

Codeforces Round #693 (Div. 3)A~G解题报告 A Cards for Friends 原题信息 http://codeforces.com/contest/1472/problem/A 解题思路 本题就是一个找 x/2iold,y/2joldx/2^iold,y/2^joldx/2iold,y/2jold, 返回 2i∗2j>n2^i*2^j>n2i∗2j>n 一般这样的题目都需要注…