Zhang Wenhao
男
展开
-
341. 扁平化嵌套列表迭代器
341. 扁平化嵌套列表迭代器Flatten Nested List Iterator文章目录题目描述:示例:方法数学公式JavaDepth-First Search (DFS)QueueStackC++Depth-First Search (DFS)QueueStack通过截图题目描述:给你一个嵌套的整数列表 nestedList 。每个元素要么是一个整数,要么是一个列表;该列表的元素也可能是整数或者是其他列表。请你实现一个迭代器将其扁平化,使之能够遍历这个列表中的所有整数。实现扁平迭代器类原创 2022-02-13 09:04:35 · 95 阅读 · 0 评论 -
53. 最大子数组和
53. 最大子数组和Maximum Subarray文章目录题目描述:示例:方法数学公式Java动态规划dpdp 空间复杂度O(n)→\to→O(1)C++动态规划dp参考答案通过截图题目描述:给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组 是数组中的一个连续部分。https://leetcode-cn.com/problems/maximum-subarray/Given an integer array nums, fin原创 2022-02-12 08:57:17 · 76 阅读 · 0 评论 -
10. 正则表达式匹配
10. 正则表达式匹配Regular Expression Matching文章目录题目描述:示例:方法数学公式Java动态规划dpC++动态规划dp通过截图题目描述:给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配。'.' 匹配任意单个字符'*' 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。https://leetcode-cn.com/problems/regular-expression-原创 2022-02-11 09:30:04 · 709 阅读 · 0 评论 -
622. 设计循环队列
622. 设计循环队列Design Circular Queue文章目录题目描述:示例:示例 1:示例 2:方法数学公式Java双端队列Deque数组arrayC++数组array数组array 修改通过截图题目描述:设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在原创 2022-02-10 09:28:40 · 91 阅读 · 0 评论 -
剑指 Offer 38. 字符串的排列
剑指 Offer 38. 字符串的排列文章目录题目描述:示例:示例 1:方法数学公式Java回溯法backtrackingC++回溯法backtracking通过截图题目描述:输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。https://leetcode-cn.com/problems/zi-fu-chuan-de-pai-lie-lcof示例:示例 1:输入:s = “abc”输出:[“abc”,“acb”,“bac”,“bc原创 2022-02-09 12:06:04 · 79 阅读 · 0 评论 -
136. 只出现一次的数字
136. 只出现一次的数字文章目录题目描述:示例:示例 1:示例 2:方法数学公式C++位运算Hash表Java位运算Hash表通过截图题目描述:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?https://leetcode-cn.com/problems/single-number/submissions/示例:示例 1:输入:[2,2,1]输出:1示例 2原创 2022-02-08 08:51:49 · 64 阅读 · 0 评论 -
1143. 最长公共子序列
1143. 最长公共子序列文章目录题目描述:示例:示例 1:示例 2:示例 2:方法数学公式C++dp动态规划dp矩阵2维 →\rightarrow→ 1维Javadp动态规划dp矩阵2维 →\rightarrow→ 1维通过截图题目描述:给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新原创 2022-02-07 11:46:56 · 61 阅读 · 0 评论 -
剑指 Offer 51. 数组中的逆序对
剑指 Offer 51. 数组中的逆序对文章目录题目描述:示例:示例 1:方法数学公式C++归并排序Java归并排序参考答案通过截图题目描述:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。https://leetcode-cn.com/problems/shu-zu-zhong-de-ni-xu-dui-lcof/示例:示例 1:输入:[7,5,6,4]输出:5方法数学公式「归并排序」是分治思想的典型应用,原创 2022-02-06 15:54:06 · 74 阅读 · 0 评论 -
316. 去除重复字母
316. 去除重复字母文章目录题目描述:示例:示例 1:示例 2:方法数学公式C++贪心 + 单调栈Java贪心 + 单调栈通过截图题目描述:给你一个字符串 sss ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。https://leetcode-cn.com/problems/remove-duplicate-letters/示例:示例 1:输入:s = “bcabc”输出:“abc”示例 2:输入:s = “cb原创 2022-02-05 10:26:44 · 153 阅读 · 0 评论 -
130. 被围绕的区域
130. 被围绕的区域文章目录题目描述:示例:示例 1:示例 2:方法数学公式C++dfsbfsJavadfsbfs通过截图题目描述:给你一个 m×nm \times nm×n 的矩阵 board ,由若干字符 ‘XXX’ 和 ‘OOO’ ,找到所有被 ‘X’ 围绕的区域,并将这些区域里所有的 ‘OOO’ 用 ‘XXX’ 填充。https://leetcode-cn.com/problems/surrounded-regions/示例:示例 1:输入:board = [[“X”,“X”,“X原创 2022-02-04 10:01:52 · 65 阅读 · 0 评论 -
459. 重复的子字符串
459. 重复的子字符串文章目录题目描述:示例:示例 1:示例 2:示例 3:方法数学公式C++枚举字符串匹配Java枚举字符串匹配通过截图题目描述:给定一个非空的字符串 sss ,检查是否可以通过由它的一个子串重复多次构成。https://leetcode-cn.com/problems/repeated-substring-pattern/solution/zhong-fu-de-zi-zi-fu-chuan-by-leetcode-solution/示例:示例 1:输入:s = “ab原创 2022-02-03 11:15:09 · 7502 阅读 · 0 评论 -
1553. 吃掉 N 个橘子的最少天数
1553. 吃掉 N 个橘子的最少天数文章目录题目描述:示例:示例 1:示例 2:示例 3:方法数学公式C++递归备忘录Java递归备忘录通过截图题目描述:厨房里总共有 n 个橘子,你决定每一天选择如下方式之一吃这些橘子:吃掉一个橘子。如果剩余橘子数 n 能被 2 整除,那么你可以吃掉 n/2 个橘子。如果剩余橘子数 n 能被 3 整除,那么你可以吃掉 2*(n/3) 个橘子。每天你只能从以上 3 种方案中选择一种方案。请你返回吃掉所有 n 个橘子的最少天数。https://leet原创 2022-02-02 09:21:14 · 239 阅读 · 0 评论 -
21. 合并两个有序链表
21. 合并两个有序链表文章目录题目描述:示例:示例 1:示例 2:示例 3:方法C++递归迭代Java递归迭代通过截图题目描述:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。https://leetcode-cn.com/problems/merge-two-sorted-lists/示例:示例 1:输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]示例 2:输入:l1 = [], l2 =原创 2022-02-01 08:18:47 · 81 阅读 · 0 评论 -
106. 从中序与后序遍历序列构造二叉树
106. 从中序与后序遍历序列构造二叉树文章目录题目描述:示例:方法C++Java通过截图题目描述:给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。https://leetcode-cn.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal示例:示例 1:输入:inorder原创 2022-01-30 11:32:50 · 1692 阅读 · 0 评论