![](https://img-blog.csdnimg.cn/20210627172431627.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
激进的算法
数据结构与算法、LeetCode
JaysenLeo
挖粪涂墙,星辰大海
展开
-
77_组合
给定两个整数 n 和 k,返回范围[1, n]中所有可能的 k 个数的组合。你可以按任何顺序返回答案。原创 2024-01-24 21:52:42 · 372 阅读 · 0 评论 -
53_最大子数组和
给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组 是数组中的一个连续部分。原创 2024-01-16 23:51:27 · 417 阅读 · 0 评论 -
121_买卖股票的最佳时机
数组开始递减的时候会找最小值,这个时候如果卖,那么卖的利润在降低,只有开始递增的时候计算差值,这个时候利润在升高,这个时候买入成本在升高。你只能选择某一天买入这只股票,并选择在未来的某一个不同的日子卖出该股票。设计一个算法来计算你所能获取的最大利润。给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0。原创 2024-01-16 23:19:48 · 359 阅读 · 0 评论 -
637_二叉树的层平均值
给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。原创 2024-01-16 21:50:17 · 400 阅读 · 0 评论 -
515_在每个树行中找最大值
给定一棵二叉树的根节点 root ,请找出该二叉树中每一层的最大值。1.层遍历时记录最大值。原创 2024-01-16 21:30:15 · 395 阅读 · 0 评论 -
199_二叉树的右视图
给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。原创 2024-01-16 21:06:02 · 372 阅读 · 0 评论 -
103_二叉树的锯齿形层序遍历
给你二叉树的根节点 root ,返回其节点值的 锯齿形层序遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。利用双端队列的两端皆可添加元素的特性,设打印列表(双端队列)q。奇数层 则添加至 q 尾部。偶数层 则添加至 q 头部。原创 2024-01-16 20:40:31 · 326 阅读 · 0 评论 -
BFS(广度优先搜索)_层序遍历&最短路径_总结
层序遍历LeetCode 102. Binary Tree Level Order Traversal 二叉树的层序遍历(中等)LeetCode 103. Binary Tree Zigzag Level Order Traversal 之字形层序遍历LeetCode 199. Binary Tree Right Side View 找每一层的最右结点LeetCode 515. Find Largest Value in Each Tree Row 计算每一层的最大值LeetCode 637. A原创 2024-01-16 20:17:34 · 409 阅读 · 0 评论 -
110_平衡二叉树
// 给定一个二叉树,判断它是否是高度平衡的二叉树。// 本题中,一棵高度平衡二叉树定义为:// 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。package mainimport "math"/** * Definition for a binary tree node. */type TreeNode struct { Val int Left *TreeNode Right *TreeNode}func isBalanced(node *Tree原创 2021-08-25 20:17:08 · 123 阅读 · 0 评论 -
107_二叉树的层序遍历 II
package main/** * Definition for a binary tree node. */type TreeNode struct { Val int Left *TreeNode Right *TreeNode}func levelOrderBottom(root *TreeNode) [][]int { //深度优先遍历(dfs) result := make([][]int, 0) var preorder func(node *TreeNode,原创 2021-08-25 20:14:27 · 116 阅读 · 0 评论 -
104_二叉树的最大深度
package main/** * Definition for a binary tree node. */type TreeNode struct { Val int Left *TreeNode Right *TreeNode}func maxDepth(root *TreeNode) int { if root == nil { return 0 } l := maxDepth(root.Left) r := maxDepth(root.Right) //原创 2021-08-25 20:13:17 · 149 阅读 · 0 评论 -
102_二叉树的层序遍历
方法一package main/** * Definition for a binary tree node. */type TreeNode struct { Val int Left *TreeNode Right *TreeNode}// 总结: 前序遍历,遍历时记录层级,记录层级的值func levelOrder(root *TreeNode) (res [][]int) { var preorder func(node *TreeNode, depath int)原创 2021-08-25 20:11:17 · 103 阅读 · 0 评论