leetcode双人赛-Leetcode:力码

时间:2024-07-19 22:40:33
【文件属性】:

文件名称:leetcode双人赛-Leetcode:力码

文件大小:156KB

文件格式:ZIP

更新时间:2024-07-19 22:40:33

系统开源

leetcode双人赛力码笔记 问题 44(通配符匹配) 方法一: 这个问题不能使用递归,会导致TLE。 为了解决它,我设法使用DP。 让我们用 m 表示字符串 s 的长度,n 表示字符串 p 的长度。 首先,我创建了一个大小为 (m+1)*(n+1) 的数组。 如果 p[0...j-1] 可以匹配 s[0...i-1],则数组中的条目 i,j 为真。 递归是: 当 p.charAt(j - 1) != '*' 时: match[i][j] = (match[i - 1][j - 1] && (p.charAt(j - 1) == s.charAt(i - 1) || p.charAt(j - 1) == '?')); 当 p.charAt(j - 1) == '*' match[i][j] = match[i - 1][j] || 匹配[i][j - 1]; 实际上我们可以使用一维数组来节省内存消耗。 方法二: 一个更简单的方法,检查代码。 问题 46&47(排列) 给定一组不同的数字,返回所有可能的排列。 问题不难,但我用了一个棘手的方法来解决重复问题。 一般的想法是递归插入项目。


网友评论