【二叉树】LeetCode.144:二叉树的前序遍历(小细节把握) 2024-05-23 算法, 运维, linux, leetcode, 职场和发展 48人 已看 🔍前言:二叉树的遍历顺序有:1.前序:根->左子树->右子树。2.中序:左子树->根->右子树。3.后序:左子树->右子->树。4.层序:一层一层的遍历。这里我们讲二叉树的前序遍历。
P6【力扣144,94,145】【数据结构】【二叉树遍历】C++版 2024-05-22 算法, c++, leetcode, 职场和发展, 数据结构 50人 已看 从根节点开始遍历,并将根节点入栈,再遍历他的左子树,并依次入栈,直到该结点没有左子树。判断这个结点是否有右子树,如果没有,则将该结点弹出栈,并记录结点值。如果有则继续从他的右子树进行遍历,同时记录该结点的右子树是否遍历过,如果遍历过,则弹栈并记录结点值。时间复杂度:O(N)每个结点会遍历一次且只遍历一次。空间复杂度:O(N)栈至多会存放所有树节点。
leetcode70-Climbing Stairs 2024-05-22 算法, leetcode, 动态规划, 职场和发展 74人 已看 爬到顶层n有俩种方式,要么是从第n-1层直接爬1层上来,要么是从第n-2层爬2层上来,所以状态转移方程为dp[n] = dp[n-1]+dp[n-2]。由于dp数组是从0开始的,所以第n层为dp的n-1下标。所以爬1层方法为1即dp[0]=1,爬2层方法为2即dp[1] = 2。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?需要 n 阶你才能到达楼顶。解释:有两种方法可以爬到楼顶。
Java | Leetcode Java题解之第105题从前序与中序遍历序列构造二叉树 2024-05-23 算法, java, leetcode, 职场和发展, 开发语言 37人 已看 Java | Leetcode Java题解之第105题从前序与中序遍历序列构造二叉树
leetcode 2944.购买水果需要的最小金币 2024-05-05 算法, 图论, leetcode, 动态规划, 职场和发展 103人 已看 我们想,既然我们已经到了第i个水果了,证明说前面的水果我们都已经挑选完毕了,我们可以枚举前面j个水果(j=i来表示。既然不买,那么肯定就必须是前面买过的水果里有覆盖这个水果的。dp[i][1]=min(dp[i-1][0],dp[i-1][1])+prices[i-1](这里i是从2开始的)dp[i][1]表示的就是选择买第i个水果,另外一个状态就是不买了。dp[i][0]=min(dp[i][0],dp[j][1])这就是不选择买当前水果的方程。
leetcode143-Reorder List 2024-05-19 算法, leetcode, list, 职场和发展, 数据结构 86人 已看 这道题目的思路其实很明确,先把链表一分为二,再求第二个链表的翻转链表,再把俩个链表相互插入式的连接到一起即可。特别要注意处理一些边界情况,否则很容易空指针。不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。输入:head = [1,2,3,4]输出:[1,4,2,3]
【力扣一轮】字符串异位 && 数组并集 2024-05-20 算法, 散列表, 哈希算法, leetcode, 数据结构 170人 已看 先验知识记录:遇到哈希问题,想到三种数据结构:①数组:适用于哈希值比较小,范围较小,②set:适用于哈希值较大。③map:如果需要用到键值对,则用之。
LeetCode:279.完全平方数 2024-05-22 算法, leetcode, 职场和发展 48人 已看 `dp[-1]` 就是 `n` 可以由的最少完全平方数之和,因为 `dp` 数组的下标是从 0 到 `n` 的。
力扣:15. 三数之和 2024-05-21 算法, leetcode, 职场和发展 48人 已看 不同的三元组是 [-1,0,1] 和 [-1,-1,2]。注意,输出的顺序和三元组的顺序并不重要。答案中不可以包含重复的三元组。唯一可能的三元组和不为 0。唯一可能的三元组和为 0。,判断是否存在三元组。
LeetCode 108.将有序数组转换为二叉搜索树 2024-05-18 算法, leetcode, 职场和发展 58人 已看 给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 平衡 二叉搜索树。
力扣:92. 反转链表 II(Java) 2024-05-20 算法, java, leetcode, 职场和发展, 开发语言 48人 已看 给你单链表的头指针 head 和两个整数 left 和 right ,其中 left
Golang | Leetcode Golang题解之第104题二叉树的最大深度 2024-05-22 算法, golang, leetcode, 后端, 开发语言 71人 已看 Golang | Leetcode Golang题解之第104题二叉树的最大深度
力扣hot100学习记录(七) 2024-05-23 算法, 学习, leetcode, 职场和发展 42人 已看 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。在二维矩阵中搜索是否存在一个目标值,该矩阵每一行每一列都是升序排列;从矩阵右上角开始判断,如果该点的值小于目标值,则这一行删除(因为该行其他值都小于该值),同理如果该点的值大于目标值,则这一列删除。以此来判断矩阵中是否存在目标值。
力扣63 不同路径Ⅱ Java版本 2024-05-21 算法, leetcode, 动态规划, 职场和发展, 数据结构 122人 已看 机器人试图达到网格的右下角(在下图中标记为 “Finish”)。一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。输入:obstacleGrid = [[0,0,0],[0,1,0],[0,0,0]]那么从左上角到右下角将会有多少条不同的路径?输入:obstacleGrid = [[0,1],[0,0]]obstacleGrid[i][j] 为 0 或 1。网格中的障碍物和空位置分别用 1 和 0 来表示。解释:3x3 网格的正中间有一个障碍物。
力扣hot100学习记录(七) 2024-05-23 算法, 学习, leetcode, 职场和发展 44人 已看 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。在二维矩阵中搜索是否存在一个目标值,该矩阵每一行每一列都是升序排列;从矩阵右上角开始判断,如果该点的值小于目标值,则这一行删除(因为该行其他值都小于该值),同理如果该点的值大于目标值,则这一列删除。以此来判断矩阵中是否存在目标值。
C语言 | Leetcode C语言题解之第104题二叉树的最大深度 2024-05-22 算法, c语言, leetcode, 数据结构, 开发语言 52人 已看 C语言 | Leetcode C语言题解之第104题二叉树的最大深度
LeetCode337:打家劫舍Ⅲ 2024-05-20 算法, leetcode, 动态规划, 职场和发展 96人 已看 除了 root 之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。如果 两个直接相连的房子在同一天晚上被打劫 ,房屋将自动报警。给定二叉树的 root。返回 在不触动警报的情况下 ,小偷能够盗取的最高金额。小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为 root。