当前位置: 首页 > news >正文

Leetcode 3557. Find Maximum Number of Non Intersecting Substrings

  • Leetcode 3557. Find Maximum Number of Non Intersecting Substrings
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3557. Find Maximum Number of Non Intersecting Substrings

1. 解题思路

这一题就是一个比较直接的动态规划的题目,我们只需要考察每一个位是否可以作为一个子串的开头,如果可以那么比较其被取用以及不被取用时的较大值将其进行返回,如果不可以,那么直接返回其不被取用时的值即可。

2. 代码实现

给出python代码实现如下:

class Solution:def maxSubstrings(self, word: str) -> int:n = len(word)locs = defaultdict(list)for i, ch in enumerate(word):locs[ch].append(i)@lru_cache(None)def dp(idx):if idx >= n:return 0ch = word[idx]i = bisect.bisect_left(locs[ch], idx+3)if i >= len(locs[ch]):return dp(idx+1)else:return max(dp(idx+1), 1 + dp(locs[ch][i] + 1))return dp(0)

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

相关文章:

  • 如何通过PHPMyadmin对MYSQL数据库进行管理?
  • MQTT-Vue整合
  • 精益数据分析(87/126):市场-产品契合度重构——现有产品寻找新市场的实战指南
  • R 语言科研绘图 --- 热力图-汇总
  • 《软件工程》第 2 章 -UML 与 RUP 统一过程
  • 第11章1 扩展 MySQL
  • Linux连接服务器全攻略:从基础到进阶
  • Hadoop架构与核心模块解析
  • hadoop纠删码基本原理
  • Vue3监听对象数组属性变化方法
  • Qwen-Agent的使用示例-天气查询
  • 记录 | Android TextView 中的滚动方向
  • 常见小问题(Open Folder as PyCharm Project)
  • 重构开发范式!飞算JavaAI革新Spring Cloud分布式系统开发
  • OpenGL Chan视频学习-7 How I Deal with Shaders in OpenGL
  • 打造现代 Web 服务的终极选择:轻量级 Rust HTTP 框架
  • MyBatis 核心组件剖析:架构、协作与源码解读
  • NLP学习路线图(八):常见算法-线性回归、逻辑回归、决策树
  • AI时代新词-Transformer架构:开启AI新时代的关键技术
  • rpm安装jenkins-2.452
  • 模板形的网站制作/看颜色应该搜索哪些词汇
  • 签合网站是哪个/产品线下推广方式都有哪些
  • iis 里没有网站吗/网络广告营销的典型案例
  • 政府网站系统源码/软文发稿公司
  • 台州seo网站管理/百度入口提交
  • 郑州做网站公司/百度搜索网址