首页 > 其他分享 >leetcode 2606. 找到最大开销的子字符串

leetcode 2606. 找到最大开销的子字符串

时间:2024-12-30 16:10:16浏览次数:1  
标签:2606 int res 开销 value found leetcode dp size

2606. 找到最大开销的子字符串

class Solution {
public:
    int maximumCostSubstring(string s, string chars, vector<int>& vals) {
        int size = s.size();
        vector<int> dp(size);

        auto found = chars.find(s[0]);
        if(found == string::npos)  dp[0] = s[0] - 'a' + 1;
        else  dp[0] = vals[found];

        int res = max(0,dp[0]);
        for(int i = 1;i < size;++i){
            int value;
            found = chars.find(s[i]);
            if(found == string::npos)  value = s[i] - 'a' + 1;
            else  value = vals[found];

            dp[i] = max(dp[i-1] + value,value);
            res = max(res,dp[i]);
        }
        return res;
    }
};

 

标签:2606,int,res,开销,value,found,leetcode,dp,size
From: https://www.cnblogs.com/uacs2024/p/18641482

相关文章

  • leetcode 213. 打家劫舍 II
    213.打家劫舍II与  198.打家劫舍  相比,多了首和尾不能同时偷的条件但是没写出来......
  • leetcode 3186. 施咒的最大总伤害
    3186.施咒的最大总伤害这道题相比 740.删除并获得点数  ,区别是这道题的元素值可以特别大,所以就不能开大数组。没做出来......
  • CH585的各memcpy时间开销测试
    目录在涉及大块的/高频次的数据传输时,需要考虑数组拷贝的时间开销。本文基于CH585,测试了部分场景下的memcpy时间开销。注:①使用CH585M_R1_1v0开发板+2024年11月25日EVT驱动代码②在main()中多次拷贝+GPIOA_InverseBits(GPIO_Pin_2);翻转IO测试。main()函数加了HIGHCODE修饰,翻转I......
  • 攻克LeetCode 1055:探寻形成字符串的最短路径
    一、题目引入在LeetCode的题库中,1055.形成字符串的最短路径这道题饶有趣味且充满挑战。简单来说,对于给定的源字符串source和目标字符串target,我们要找出源字符串中能通过串联形成目标字符串的子序列的最小数量。如果无法通过串联源字符串中的子序列来构造目标字符串,那就得......
  • LeetCode1.两数求和 C题解(简单)
    两数求和1.原题目题目示例2.思路解析3.具体操作1.原题目题目LeetCode题库的第1题题目为:给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案,并且你不能使用两......
  • LeetCode110平衡二叉树
    原理本题判断一个二叉树是否为平衡二叉树,核心思路是基于平衡二叉树的定义,即任意节点的左右子树的高度差的绝对值不超过1。通过递归地计算每个节点为根的子树的高度,在计算过程中判断是否满足高度差条件,如果发现某个节点的左右子树高度差超过1,则整棵树不是平衡二叉树,标记为特......
  • LeetCode热题100-移动零【JavaScript讲解】
    题目:快指针和慢指针同时移动,当遍历的值不为0的时候,将快指针的值赋给慢指针,如果遍历到0,快指针继续移动,慢指针不动等待被覆盖。之后使用fill方法填充0。具体答案放在最后啦~fill方法arr.fill(value[,start[,end]])参数说明:value:用于填充数组元素的值start(可选):开始......
  • LeetCOde914 卡牌分组
    扑克牌分组问题:探索最大公约数的应用在编程的世界里,我们经常会遇到各种有趣的算法问题,今天要和大家分享的是一道关于扑克牌分组的问题,它巧妙地运用了最大公约数的概念来解决。一、问题描述给定一副牌,每张牌上都写着一个整数。我们需要选定一个数字 X(X>=2),使得可以将整副牌......
  • leetcode1803 统计异或值在范围内的数对有多少
    给定数组nums[n]和两个整数low与high,问有多少对(i,j)满足0<=i<j<n,并且low<=(nums[i]^nums[j])<=high。1<=n<=2E4;1<=nums[i]<=2E4;1<=low<=high<=2E4分析:1、把区分问题拆分为两部分,记f(x)表示不超过x的个数,那么f(high)-f(low-1)就是答案,只需要实现f(x)即可。2、从......
  • leetcode1938 查询最大基因差
    给定一棵n个节点的有根树,节点i的父节点为parents[i],根节点的父节点为-1,节点的基因值等于自身编号。有m个询问,queries[i]=[node[i],val[i]],返回从根节点到node[i]的路径上所有节点基因值与val[i]的异或最大值。2<=n<=1E5;1<=m<=3E4;0<=val[i]<=2E5分析:01-trie+离线+dfs。(1)用01......