[Leetcode Weekly Contest]184
链接:LeetCode
[Leetcode]5380. 数组中的字符串匹配
给你一个字符串数组 words ,数组中的每个字符串都可以看作是一个单词。请你按 任意 顺序返回 words 中是其他单词的子字符串的所有单词。
如果你可以删除最左侧和/或最右侧的若干字符得到,那么字符串 就是的一个子字符串。
直接暴力就可以了。
class Solution:
def stringMatching(self, words: List[str]) -> List[str]:
res = []
for w1 in words:
for w2 in words:
if w1 in w2 and w1!=w2:
res.append(w1)
break
return res
[Leetcode]5381. 查询带键的排列
给你一个待查数组 queries ,数组中的元素为 1 到 m 之间的正整数。 请你根据以下规则处理所有待查项(从 i=0 到 i=queries.length-1):
一开始,排列。
对于当前的 i ,请你找出待查项在排列 P 中的位置(下标从 0 开始),然后将其从原位置移动到排列 P 的起始位置(即下标为 0 处)。注意,在 P 中的位置就是的查询结果。
请你以数组形式返回待查数组 queries 的查询结果。
直接暴力就可以了。
class Solution:
def processQueries(self, queries: List[int], m: int) -> List[int]:
nums = [i for i in range(1,m+1)]
res = []
for q in queries:
ind = nums.index(q)
res.append(ind)
nums.pop(ind)
nums = [q] + nums
return res
[Leetcode]5382. HTML 实体解析器
「HTML 实体解析器」 是一种特殊的解析器,它将 HTML 代码作为输入,并用字符本身替换掉所有这些特殊的字符实体。
HTML 里这些特殊字符和它们对应的字符实体包括:
双引号:字符实体为,对应的字符是 " 。
单引号:字符实体为,对应的字符是 ' 。
与符号:字符实体为,对应对的字符是 & 。
大于号:字符实体为,对应的字符是 > 。
小于号:字符实体为,对应的字符是 < 。
斜线号:字符实体为,对应的字符是 / 。
给你输入字符串 text ,请你实现一个 HTML 实体解析器,返回解析器解析后的结果。
直接暴力就可以了。
class Solution:
def entityParser(self, text: str) -> str:
text = text.replace(""", "\"").replace("'", "'").replace("&", "&").replace(">", ">").replace("<", "<").replace("⁄", "/")
return text
[Leetcode]5383. 给 N x 3 网格图涂色的方案数
你有一个 n x 3 的网格图 grid ,你需要用 红,黄,绿 三种颜色之一给每一个格子上色,且确保相邻格子颜色不同(也就是有相同水平边或者垂直边的格子颜色不同)。
给你网格图的行数 n 。
请你返回给 grid 涂色的方案数。由于答案可能会非常大,请你返回答案对 10^9 + 7 取余的结果。
动态规划。每一行分为 ABA(使用AB两种颜色) 和 ABC(使用三种颜色) 这样的两种情况, 且仅有这两种情况:
在ABA的情况下下一行有 三色情况:CAB,ABC 双色情况:BAB,CAC,CBC这样总共5种情况
在ABC的情况下下一样有 三色情况:CAB,BCA 双色情况:BAB,BCB这样总共4种情况,
dp数组中存当前行双色数量 存当前行三色数量 因此有如下公式:
第一行有6种三色 6种双色 作为初始行
class Solution:
def numOfWays(self, n: int) -> int:
dp = [[0 for _ in range(2)] for _ in range(n)]
dp[0][0] = 6
dp[0][1] = 6
for i in range(1,n):
dp[i][0] = (dp[i-1][0]*3+dp[i-1][1]*2)%(1000000007)
dp[i][1] = (dp[i-1][0]*2+dp[i-1][1]*2)%(1000000007)
return (dp[n-1][0]+dp[n-1][1])%(1000000007)
参考:
leetcode
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)