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

Leetcode 3598. Longest Common Prefix Between Adjacent Strings After Removals

  • Leetcode 3598. Longest Common Prefix Between Adjacent Strings After Removals
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3598. Longest Common Prefix Between Adjacent Strings After Removals

1. 解题思路

这一题的话思路上就是一个累计数组的思路。考察任意一个位置 i i i上的答案,事实上就是考察 i − 1 i-1 i1之前所有相邻字符串的最大值与 i + 1 i+1 i+1之后所有相邻元素的最大值,以及 i − 1 i-1 i1 i + 1 i+1 i+1两个字符串的最大值,因此,我们只需要提前算好这些值即可快速求得任意位置上的答案了。

2. 代码实现

给出python代码实现如下:

class Solution:def longestCommonPrefix(self, words: List[str]) -> List[int]:n = len(words)if n == 1:return [0]if len(set(words)) == 1 and n > 2:return [len(words[0]) for _ in range(n)]def count_prefix(w1, w2):if len(w1) > len(w2):return count_prefix(w2, w1)ans = 0for ch1, ch2 in zip(w1, w2):if ch1 != ch2:breakans += 1return ansadj = [count_prefix(words[i], words[i+1]) for i in range(n-1)]left = [0 for _ in range(n)]right = [0 for _ in range(n)]for i in range(n-1):left[i+1] = max(left[i], adj[i])right[n-2-i] = max(right[n-1-i], adj[n-2-i])tri = [count_prefix(words[i-1], words[i+1]) for i in range(1, n-1)]ans = []for i in range(n):if i == 0:m = right[1]elif i == n-1:m = left[n-2]else:m = max(left[i-1], right[i+1])ans.append(max(m, tri[i-1]) if 1 <= i < n-1 else m)return ans

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

http://www.lqws.cn/news/574777.html

相关文章:

  • 第8篇:Gin错误处理——让你的应用更健壮
  • 【Typst】自定义彩色盒子
  • 【NLP 实战】蒙古语情感分析:从 CNN 架构设计到模型训练的全流程解析(内附项目源码及模型成果)
  • BP-Tools21.02下载 加解密利器 金融安全交易算法工具 PCI认证工具 金融和智能卡的数据加解密和数据转换工具
  • 无人机用shell远程登录机载电脑,每次需要环境配置原因
  • 06_注意力机制
  • (七)集成学习
  • git lfs 提交、拉取大文件
  • 【Linux高级全栈开发】2.4 自研框架:基于 dpdk 的用户态协议栈的实现
  • 华为云Flexus+DeepSeek征文 | 华为云 ModelArts Studio 赋能 AI 法务:合同审查与法律文件生成系统
  • M|艺伎回忆录
  • 从理论到实战:解密大型语言模型的核心技术与应用指南
  • (LeetCode 面试经典 150 题 ) 134. 加油站 (贪心)
  • 日语学习-日语知识点小记-进阶-JLPT-真题训练-N2阶段(5):2022年12月2023年7月
  • 通过HTTPS访问Harbor2.13.1 的配置
  • 1.认识Docker
  • #华为鲲鹏#华为计算#鲲鹏开发者计划2025#
  • Prompt Depth Anything:以提示方式驱动的Depth Anything用于实现4K分辨率下的精确米制深度估计
  • 04-GRU模型
  • python中多线程:线程插队方法join详解、线程停止、通过变量来让线程停止
  • Linux中ssh无法使用配置的环境变量,ssh(非登录环境)环境变量和登录环境变量不同步问题
  • document.write 和 innerHTML、innerText 的区别
  • MATLAB仿真:经过大气湍流的涡旋光束的光斑漂移
  • Transformer超详细全解!含代码实战
  • 双指针的用法
  • 指针篇(6)- sizeof和strlen,数组和指针笔试题
  • 请求转发,响应重定向
  • 在Linux系统中部署Java项目
  • 边界的艺术:支持向量机与统计学习时代的王者
  • 学习日志02 ETF 基础数据可视化分析与简易管理系统