Leetcode 3316. Find Maximum Removals From Source String

embedded/2024/10/18 20:05:45/
  • Leetcode 3316. Find Maximum Removals From Source String
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3316. Find Maximum Removals From Source String

1. 解题思路

这一题思路上的话就是一个动态规划的题目,我们仿照lcs,考察每一个位置是否可以drop即可。

而关于lcs算法,网上有很多介绍文章,这里就不过多赘述了。

2. 代码实现

给出python代码实现如下:

class Solution:def maxRemovals(self, source: str, pattern: str, targetIndices: List[int]) -> int:n, m = len(source), len(pattern)targets = set(targetIndices)@lru_cache(None)def dp(i, j):if j >= m:return len([idx for idx in range(i, n) if idx in targets])if i >= n:return -math.infif i in targets:if source[i] == pattern[j]:return max(dp(i+1, j+1), 1 + dp(i+1, j))else:return 1 + dp(i+1, j)else:if source[i] == pattern[j]:return dp(i+1, j+1)else:return dp(i+1, j)remove = dp(0, 0)return remove if remove != -math.inf else 0

提交代码评测得到:耗时2217ms,占用内存725MB。


http://www.ppmy.cn/embedded/128544.html

相关文章

Python网络爬虫

随着互联网的迅猛发展,数据成为了新的“石油”。人们对于信息的需求日益增涨,尤其是在市场分析、学术研究和数据挖掘等领域。网络爬虫作为一种自动提取网络数据的技术,因其强大的能力而备受关注。而Python,凭借其简洁的语法和丰富…

C++核心编程、面向对象

目录 一、内存分区模型 1、运行程序前 代码区 全局区 总结: 2、运行程序后 栈区 堆区 3、new关键字 基本使用 开辟数组 二、引用 1、基本使用 2、引用的注意事项 3、引用做函数参数 4、引用做函数返回值 5、引用的本质 6、常量引用 三、函数提高 1…

Android Studio 安装和认识

目录 1.Android 的安装 按图片流程操作即可 2.Android的sdk安装 3.Android Studio 全局Gradle配置 window系统 Unix/Linux/MacOS 打开任意的文件夹 创建我的第一个Android Studio 项目 4.Android的目录结构 1)gradle/ 2)idea/ 3)app/ 4&#…

什么是 SQL 注入

本系列文章的设计思想,都融入了 让 Java 再次伟大 这个全新设计的脚手架产品中,欢迎大家使用。 什么是 SQL 注入 SQL 注入攻击(SQL Injection),简称注入攻击,是 Web 开发中最常见的一种安全漏洞。可以用它…

vllm启动大语言模型时指定chat_template

问题介绍 在Linux下启动vllm: python3 -m vllm.entrypoints.openai.api_server --host 0.0.0.0 --model /model/Baichuan2-7B-Chat --trust-remote-code --gpu-memory-utilization 0.80使用下面的命令测试出错: curl -X POST \http://127.0.0.1…

掌握ChatGPT写代码的秘诀:开发者的完整指南

文章目录 前言:如何利用ChatGPT来写代码:一个深度指南1. ChatGPT的基本功能概述2. 利用ChatGPT辅助代码编写的好处3. ChatGPT支持的编程语言4. 如何向ChatGPT提问以获取最佳结果5. 实际应用案例6. ChatGPT的局限性及其解决方法7. 关于隐私和安全性的注意…

如何使用python网络爬虫批量获取公共资源数据?

原文链接:如何使用python网络爬虫批量获取公共资源数据https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247608240&idx4&snef281f66727afabfaae2066c6e92f792&chksmfa826657cdf5ef41571115328a09b9d34367d8b11415d5a5781dc4c9b3a10dbe7f809f7…

Redis主从复制机制详解

目录 一、主从复制介绍二、搭建主从复制三、主从复制流程四、关于Replication ID五、主从复制核心知识六、主从复制应用场景七、主从复制的注意事项八、读写分离实战 一、主从复制介绍 1、什么是主从复制? 2、为什么要使用主从复制? redis-server单点…