leetcode
文章平均质量分 62
friedrichor
研一学生
研究方向:Large Multimodal Models, Multimodal Dialogue.
Github: https://github.com/friedrichor
知乎: https://www.zhihu.com/people/friedrichor
知乎持续更新,欢迎关注
展开
-
字符串题目解析
字符串题目解析原创 2022-08-07 21:22:57 · 302 阅读 · 0 评论 -
【leetcode】剑指 Offer(专项突击版)汇总
更新中…… leetcode 剑指 Offer(专项突击版)题目+个人题解 汇总原创 2022-08-05 15:20:59 · 1296 阅读 · 0 评论 -
【leetcode】50. Pow(x, n)(中等)(快速幂)
快速幂原创 2022-07-26 20:32:56 · 141 阅读 · 0 评论 -
【leetcode】82. 删除排序链表中的重复元素 II(中等)
【leetcode】82. 删除排序链表中的重复元素 II(中等)原创 2022-07-26 01:15:54 · 148 阅读 · 0 评论 -
【leetcode】80. 删除有序数组中的重复项 II(中等)(双指针、原地修改)
【leetcode】80. 删除有序数组中的重复项 II双指针、原地修改原创 2022-07-25 19:19:25 · 143 阅读 · 0 评论 -
【leetcode】75. 颜色分类(中等)(双指针、原地修改)
leetcode 75.颜色分类 双指针原创 2022-07-25 09:00:00 · 199 阅读 · 0 评论 -
【leetcode】114. 二叉树展开为链表(中等)
114. 二叉树展开为链表问题描述给你二叉树的根结点 root ,请你将它展开为一个单链表:展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同。示例 1:输入:root = [1,2,5,3,4,null,6]输出:[1,null,2,null,3,null,4,null,5,null,6]示例 2:输入:root = []输出:[]示例 3:输入:root原创 2022-04-07 11:02:24 · 126 阅读 · 0 评论 -
leetcode中global报错的解决方案
leetcode0-global的用法转载 2022-04-07 10:33:41 · 707 阅读 · 0 评论 -
【leetcode】105. 从前序与中序遍历序列构造二叉树(中等)
105. 从前序与中序遍历序列构造二叉树题目描述给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同一棵树的中序遍历,请构造二叉树并返回其根节点。示例 1:输入: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]输出: [3,9,20,null,null,15,7]示例 2:输入: preorder = [-1], inorder = [-1]输出: [-1]提示原创 2022-04-06 21:01:27 · 568 阅读 · 0 评论 -
【leetcode】104. 二叉树的最大深度(简单)
104. 二叉树的最大深度给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。广度优先搜索# Definition for a binary tree node.# class TreeNode:# def __init__(self, v原创 2022-04-05 22:18:50 · 167 阅读 · 0 评论 -
【leetcode】98. 验证二叉搜索树(中等)
98. 验证二叉搜索树题目描述给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。有效 二叉搜索树定义如下:节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1:输入:root = [2,1,3]输出:true示例 2:输入:root = [5,1,4,null,null,3,6]输出:false解释:根节点的值是 5 ,但是右子节点的值是 4 。提示:树中节点数目范围原创 2022-04-05 21:33:18 · 548 阅读 · 0 评论 -
【leetcode】102. 二叉树的层序遍历(中等)
102. 二叉树的层序遍历题目描述给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。示例 1:输入:root = [3,9,20,null,null,15,7]输出:[[3],[9,20],[15,7]]示例 2:输入:root = [1]输出:[[1]]示例 3:输入:root = []输出:[]思路&代码没什么技巧,就用了个队列。# Definition for a binary tree node.# cla原创 2022-04-05 20:52:57 · 108 阅读 · 0 评论 -
【leetcode】96. 不同的二叉搜索树(中等)
96. 不同的二叉搜索树题目描述给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。示例 1:输入:n = 3输出:5示例 2:输入:n = 1输出:1提示:1 <= n <= 19二叉搜索树定义二叉搜索树是一种节点值之间具有一定数量级次序的二叉树,对于树中每个节点:若其左子树存在,则其左子树中每个节点的值都不大于该节点值;若其右子树存在,则其右子树中每个节点的值都不小于该节原创 2022-04-05 19:42:09 · 625 阅读 · 0 评论 -
【leetcode】101. 对称二叉树(简单)
101. 对称二叉树题目描述给你一个二叉树的根节点 root , 检查它是否轴对称。示例 1:输入:root = [1,2,2,3,4,4,3]输出:true示例 2:输入:root = [1,2,2,null,3,null,3]输出:false提示:树中节点数目在范围 [1, 1000] 内-100 <= Node.val <= 100递归左边和右边每个结点依次比较,判断是否每个结点都对称。# Definition for a binary tree n原创 2022-03-31 19:40:51 · 776 阅读 · 0 评论 -
【leetcode】94. 二叉树的中序遍历(简单)
94. 二叉树的中序遍历题目描述给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。示例 1:输入:root = [1,null,2,3]输出:[1,3,2]示例 2:输入:root = []输出:[]示例 3:输入:root = [1]输出:[1]提示:树中节点数目在范围 [0, 100] 内-100 <= Node.val <= 100递归前序遍历:打印 - 左 - 右中序遍历:左 - 打印 - 右后序遍历:左 - 右 - 打印原创 2022-03-31 16:29:06 · 556 阅读 · 0 评论 -
【leetcode】70. 爬楼梯(简单)
70. 爬楼梯假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?示例 1:输入:n = 2输出:2解释:有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入:n = 3输出:3解释:有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶提示:1 <= n <= 45思路这题主要难点在于时间复杂度,最开始利用过全原创 2022-03-31 11:27:31 · 505 阅读 · 0 评论 -
【leetcode】31. 下一个排列(中等)
31. 下一个排列题目描述整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。例如,arr = [1,2,3] ,以下这些都可以视作 arr 的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1] 。整数数组的 下一个排列 是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺序从小到大排列在一个容器中,那么数组的 下一个排列 就是在这个有序容器中排在它后面的那个排列。如果不存在下一个更大的排列,那么这个数组必须重排为字典序最小的排列(即,其元素按原创 2022-03-30 15:32:36 · 128 阅读 · 0 评论 -
【leetcode】23. 合并K个升序链表(困难)
23. 合并K个升序链表(困难)题目描述给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。示例 1:输入:lists = [[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:[ 1->4->5, 1->3->4, 2->6]将它们合并到一个有序链表中得到。1->1->2->3->4->4->5->6原创 2022-03-29 23:33:10 · 140 阅读 · 0 评论 -
【leetcode】22. 括号生成(中等)
22.括号生成题目描述数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例 1:输入:n = 3输出:["((()))","(()())","(())()","()(())","()()()"]示例 2:输入:n = 1输出:["()"]思路可以想象二叉树的结构,每个结点都有 ‘(’ 和 ‘)’ 两种选择。当左括号个数 > 右括号个数时:若左括号个数<n:后面可以加左括号也可以加右括号若左括号个数=n:后面只能加右括号原创 2022-03-28 21:19:42 · 788 阅读 · 0 评论 -
最大字序和(动态规划)
最大字序和(动态规划)假设 nums 数组的长度是 n,下标从 0 到 n-1。我们用 f(i) 代表以第 i 个数结尾的「连续子数组的最大和」( i 同样是 0 到 n-1), maxAns表示「最大字序和」很显然我们要求的答案就是:max0≤i≤n−1{f(i)}\max_{0 \leq i \leq n-1} \{ f(i) \}0≤i≤n−1max{f(i)}第 i 个数结尾的「连续子数组的最大和」只能有两种可能:第 i - 1 个数结尾的「连续子数组的最大和」+ 第 i 个数本身原创 2021-09-20 17:37:43 · 241 阅读 · 0 评论 -
滑动窗口——无重复字符的最长子串
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: s = “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: s = “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke”...原创 2021-06-27 20:08:44 · 129 阅读 · 0 评论