
leetcode
文章平均质量分 55
LCB2018
这个作者很懒,什么都没留下…
展开
-
八种基本排序算法(Java)
又叫折半查找,要求待查找的序列有序。每次取中间位置的值与待查关键字比较,如果中间位置 的值比待查关键字大,则在前半部分循环这个查找的过程,如果中间位置的值比待查关键字小, 则在后半部分循环这个查找的过程。直到查找到了为止,否则序列中没有待查的关键字。原创 2022-11-01 13:28:13 · 120 阅读 · 0 评论 -
剑指 Offer 31. 栈的压入、弹出序列
输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。题解:采用HashMap保存出栈入栈顺序,之后取出出栈顺序,判断每个位置的合法性。1 不能在 2 之前弹出。原创 2022-10-23 10:49:30 · 79 阅读 · 0 评论 -
剑指offer19或力扣10(困难)正则表达式匹配
那么就表示我们可以对 p 的第 j−1 个字符匹配任意自然数次。在 匹配0 次的情况下,我们有:f[i][j]=f[i][j−2]因为 '*' 代表可以匹配零个或多个前面的那一个元素, 在这里前面的元素就是 'a'。因此,字符串 "aa" 可被视为 'a' 重复了一次。3. 在任意情况下,只要 p[j]p[j]p[j] 是。,那么 p[j] 一定成功匹配 s 中的任意一个小写字母。"a" 无法匹配 "aa" 整个字符串。的,而不是部分字符串。如:匹配1,2,3次。原创 2022-10-18 08:48:42 · 95 阅读 · 0 评论 -
解数独回溯算法详解(leetCode 37)(困难)
链接:https://leetcode.cn/problems/sudoku-solver。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。数独部分空格内已填入了数字,空白格用 '.' 表示。这篇文章主要讲解下leetCode官方的回溯解法。编写一个程序,通过填充空格来解决数独问题。数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。来源:力扣(LeetCode)原创 2022-09-19 09:24:28 · 275 阅读 · 0 评论 -
二叉树的几种遍历方法(前序、中序、后序)
递归可以说是二叉树相对来说最简单的掌握方式,前序、中序、后序遍历主要体现在以下代码上,如果 res.add(root.val);在中间即中序遍历,在首位即前序遍历、在末尾即后序遍历。利用栈遍历二叉树时间复杂度和空间复杂度一般都为O(n);且前序、中序、后续遍历的代码类似,区别主要体现在一下代码段上。利用栈的先进后出的特性,首先让二叉树遍历到最左边的位置,然后再一个节点一个节点弹出。在中间就是中序遍历;二叉树的遍历一般有前序、中序、后序。5. Morris 前序遍历。4.Morris 中序遍历。原创 2022-10-07 16:19:49 · 781 阅读 · 0 评论 -
力扣(51困难) N皇后问题
每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 'Q' 和 '.' 分别代表了皇后和空位。n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。该解法基本为傻瓜式解法,还有许多可以优化的地方,现代码如下,附上注释。给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。原创 2022-09-24 09:41:01 · 446 阅读 · 0 评论