![](https://img-blog.csdnimg.cn/20190918140213434.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
LeetCode
个人学习leetcode记录用
只会git clone的程序员
博客资料链接失效或者文件找不到可以私信索要!
当前在探索的领域:机器瞎学 人工智障 模式混淆 数据掩埋 计算机幻觉 劝退系统
展开
-
数组均分算法题
leetcode数组均分,字节面试题原创 2022-06-04 19:43:53 · 1161 阅读 · 1 评论 -
2022年4月16日freewheel机试题
具体题目名字记不太清了,大概如下 第一题 给搜索二叉树的前序遍历结果,重构搜索二叉树,返回根结点。 思路:递归维护两个值,一个是可插入的最大值和可插入的最小值。 1、当前插入的值满足小于可插入的最大值和大于可插入的最小值,就插入,然后递归其左右子树 2、当前插入的值不满足上述条件,返回None,回溯父节点 3、当前插入次数等于总结点数,返回None,结束 class TreeNode: def __init__(self, x): self.val = x self.原创 2022-04-18 12:02:58 · 509 阅读 · 0 评论 -
leetcode_hot100(0-10)
1. 两数之和 用字典存储,键为数组的值,值为索引,可以清除掉重复的数字 遍历数组如果target-now在字典的键就返回。 2. 两数相加 同时遍历两个链表 当前结点的值相加,如果需要进位设置进位符为1, 如果一个链表遍历完,则这个链表后续相加的值设为0 注意两个链表遍历完,如果进位符还是1,需要额外加一位 3. 无重复字符的最长子串 子串问题采用双指针 用end指针遍历字符。 若当前字符不在字典中,长度加一,字符加入字典(键为字符,值为索引) 若当前字符在字典中,修改start的位置为字符字典原创 2021-11-16 15:12:27 · 358 阅读 · 0 评论 -
leetcode(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 = [0] 输出:[0] 提示: 树中结点.原创 2021-10-07 22:34:48 · 66 阅读 · 0 评论 -
leetcode(104)- 从前序遍历与中序遍历序列构造二叉树
给定一棵树的前序遍历 preorder 与中序遍历 inorder。请构造二叉树并返回其根节点。 示例 1: Input: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7] Output: [3,9,20,null,null,15,7] 示例 2: Input: preorder = [-1], inorder = [-1] Output: [-1] 提示: 1 <= preorder.length <= 3000 inorder.lengt.原创 2021-10-07 21:09:30 · 157 阅读 · 0 评论 -
leetcode(104)- 二叉树最大深度
给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / 9 20 / 15 7 返回它的最大深度 3 。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/maximum-depth-of-binary-tree # Definition for a binary tree node. .原创 2021-10-07 20:12:22 · 92 阅读 · 0 评论 -
2021.5.24
把1, 2, 3, … N*M填入一个N行M列的矩阵中,使得矩阵每一行从左到右、每一列从上到下都是递增的。 给定N和M,一共有多少种不同的填法?原创 2021-05-25 00:46:35 · 449 阅读 · 0 评论 -
leetcode(102)-二叉树的层序遍历
102.二叉树的层序遍历 给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。 示例: 二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其层次遍历结果: [ [3], [9,20], [15,7] ] 思路 跟树的遍历有关,所以我首先想到的是递归,但是没有想到好写的递归...原创 2020-04-04 21:51:29 · 340 阅读 · 0 评论 -
leetcode(94)- 二叉树的中序遍历
94.二叉树的中序遍历 给定一个二叉树,返回它的中序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 思路 这个就很简单了,直接上代码,递归。 代码实现 中序遍历 /** * Definition for a binary tree node. * public class TreeNode { * int val; * ...原创 2020-04-02 12:07:11 · 148 阅读 · 5 评论 -
leetcode(84)- 柱状图中最大的矩形
84.柱状图中最大的矩形 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]。 图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 个单位。 示例: 输入: [2,1,5,6,2,3] 输出: 10 这个题目的...原创 2020-04-01 13:32:16 · 155 阅读 · 0 评论 -
leetcode(79)- 单词搜索
79.单词搜索 给定一个二维网格和一个单词,找出该单词是否存在于网格中。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。 示例: board = [ [‘A’,‘B’,‘C’,‘E’], [‘S’,‘F’,‘C’,‘S’], [‘A’,‘D’,‘E’,‘E’] ] 给定 word = “ABCCED”...原创 2020-03-31 14:32:00 · 128 阅读 · 0 评论 -
leetcode(76)- 最小覆盖子串
76.最小覆盖子串 给你一个字符串 S、一个字符串 T,请在字符串 S 里面找出:包含 T 所有字母的最小子串。 示例: 输入: S = “ADOBECODEBANC”, T = “ABC” 输出: “BANC” 说明: 如果 S 中不存这样的子串,则返回空字符串 “”。 如果 S 中存在这样的子串,我们保证它是唯一的答案。 思路 这题目说实话有点小难啊,因为要处理字符串,我写的是大量的字符串...原创 2020-03-31 11:44:02 · 173 阅读 · 0 评论 -
leetcode(75)- 颜色分类
75.颜色分类 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 注意: 不能使用代码库中的排序函数来解决这道题。 示例: 输入: [2,0,2,1,1,0] 输出: [0,0,1,1,2,2] 思路 这题目乍一看还没看懂,我还以为就是一个升序排...原创 2020-03-29 15:17:16 · 177 阅读 · 0 评论 -
leetcode(78)- 子集
78.子集 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。 说明: 解集不能包含重复的子集。 示例: 输入: nums = [1,2,3] 输出: [[3],[1],[2],[1,2,3],[1,3],[2,3],[1,2],[]] 思路 这道题目是典型的小学数学题,瞬间勾起了童年的回忆~ 这跟之前的dfs的题目挺像的ho,也可以用递归写dfs来做,不过个人不喜欢...原创 2020-03-07 22:38:13 · 128 阅读 · 0 评论 -
leetcode(55)- 跳跃游戏
55. 跳跃游戏 给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 示例 1: 输入: [2,3,1,1,4] 输出: true 解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。 示例 2: 输入: [3,2,1,0,4] 输出: false 解释: ...原创 2020-03-06 12:34:01 · 129 阅读 · 0 评论 -
leetcode(49)- 字母异位词分组
纯属个人打开学习记录,无任何参考意义 49.字母异位词分组 给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。 示例: 输入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”], 输出: [ [“ate”,“eat”,“tea”], [“nat”,“tan”], [“bat”] ] 说明: 1、所有输入均为小写字母。 2、不...原创 2020-03-05 21:16:53 · 119 阅读 · 0 评论 -
leetcode(46)- 全排列
46. 全排列 给定一个没有重复数字的序列,返回其所有可能的全排列。 示例: 输入: [1,2,3] 输出: [ [1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1] ] 思路 这题目很熟悉吧,小学数学,这跟昨天写的leetcode39题很像,而且比39题容易了许多,同样的这种设计到列举全部组合的问题可以画树来解决: 可以看到,舍弃的条件是: 1、搜...原创 2020-03-04 14:27:58 · 169 阅读 · 0 评论 -
leetcode(39)- 组合总和
题目 39.组合总和 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明: 1.所有数字(包括 target)都是正整数。 2.解集不能包含重复的组合。 示例 1: 输入: candidates = [2,3,6,7], target =...原创 2020-03-03 19:22:58 · 135 阅读 · 0 评论