leetcode 单调栈单调栈用途不太广泛,只处理一类典型的问题,比如「下一个更大元素」,「上一个更小元素」 输入一个数组 nums,请你返回一个等长的结果数组,结果数组中对应索引存储着下一个更大元素,如果没有更大的元素,就存 -1 1234567891011121314151617181920212223func nextGreaterElement(nums []int) []int { n := l 2024-02-24 leetcode
golang 修改函数传入参数切片需要指针func dfs(root *TreeNode, res *[]int) { if root == nil { return } *res = append(*res, root.Val) dfs(root.Left, res) dfs(root.Right, res) }在这个修正后的版本中,res参数是一个指向切片的指针。这样,我们在函数内部通过 2024-02-24 Golang
leetcode 406. 根据身高重建队列【贪心】406. 根据身高重建队列 - 力扣(LeetCode) 12345678910111213141516func reconstructQueue(people [][]int) [][]int { sort.Slice(people, func(i, j int) bool { if people[i][0] == people[j][0]{ return 2024-01-24 leetcode
leetcode 77.组合【回溯】77. 组合 - 力扣(LeetCode) 使用回溯的模板 123456789101112void backtracking(参数) { if (终止条件) { 存放结果; return; } for (选择:本层集合中元素(树中节点孩子的数量就是集合的大小)) { 处理节点; bac 2024-01-23 leetcode
【BFS DFS通用模板】深度优先搜索(DFS)通用模板123456789101112131415161718192021222324252627282930313233343536// 通用的深度优先搜索函数func dfs(node int, visited []bool, graph [][]int) { // 边界终止条件 if m n { } // 终止条件 if vi 2024-01-23 leetcode
leetcode 94.二叉树的中序遍历递归方法123456789101112131415func inorderTraversal(root *TreeNode) (res []int) { var traversal func(node *TreeNode) traversal = func(node *TreeNode) { if node == nil { return 2024-01-22 leetcode
【go】初始化双向列表List在Go语言中,两种方法都可以用于初始化一个list.List。 queue := &list.List{}: 这是使用结构体字面量的方式,创建一个 list.List 类型的结构体变量,并返回该结构体的指针。这种方式创建了一个空的链表。 queue := list.New(): 这是使用 list 包中的 New 函数来创建一个新的 list.List。New 函数 2024-01-22 leetcode
【20240114】LeetCode 83. 删除排序链表中的重复元素Problem: 83. 删除排序链表中的重复元素 [TOC] 思路 遍历 解题方法 描述你的解题方法 复杂度时间复杂度: 添加时间复杂度, 示例: $O(n)$ 空间复杂度: 添加空间复杂度, 示例: $O(n)$ Code[]123456789101112131415161718192021222324252627282930313233343536373839/** * De 2024-01-14 leetcode
【Win】键盘下键坏了,使用组合键模拟下方向键使用 AutoHotKey 来创建一个脚本,使得按下 Alt + S 时模拟按下下方向键。以下是创建这样一个脚本的步骤: 下载并安装 AutoHotKey: 访问 AutoHotKey 官网,下载并安装 AutoHotKey v1.0。创建脚本文件: 打开文本编辑器(如记事本)并创建一个新的脚本文件,将以下内容复制粘贴到文件中: 1!s::Send {Down} 这个脚本表示 2024-01-14 工具