随想曲

代码随想里算法训练营第四天|

24. 两两交换链表中的节点 题目 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 第一想法 第一次做这个题的时候其实没搞懂怎么两两交换,原来是12、34、56这样... 应该是反转链表的变体,先判断头节点的nex ......
训练营 随想 算法 代码

代码随想录算法训练营第三天| 203.移除链表元素 ,707.设计链表 ,206.反转链表

203.移除链表元素 题目 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。 第一想法 定义一个指针a指向头节点,顺序遍历链表,循环结束的条件是指针a.next为null 删除操作是判断a.next.val= ......
随想录 训练营 随想 算法 元素

[代码随想录]Day21-回溯算法part01

## 题目:[77. 组合](https://leetcode.cn/problems/combinations/) ### 思路: 回溯就是dfs的一个特殊情况也就是递归的一种情况,值得注意的一点: 要记得深拷贝,不然最后全是空 ### 代码: ```go var res [][]int var ......
随想录 随想 算法 代码 part

代码随想录算法训练营第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II

977.有序数组的平方 题目 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 第一想法 隐隐约约有印象是用双指针法头尾一起向中间移动,因为这个数组的特点决定了平方数中间小两边大 思路&题解 class Solution { publ ......
数组 随想录 训练营 矩阵 螺旋

[代码随想录]Day20-二叉树part09

## 题目:[669. 修剪二叉搜索树](https://leetcode.cn/problems/trim-a-binary-search-tree/) ### 思路: 遍历到的值小于最小值,说明左子树里的所有节点都小于最小值,舍弃左子树。 遍历到的值大于最大值,说明右子树里的所有节点都大于最大值 ......
随想录 随想 代码 part Day

代码随想录算法训练营第十八天| 513.找树左下角的值 112. 路径总和 106.从中序与后序遍历序列构造二叉树

找树左下角的值 卡哥建议:本地递归偏难,反而迭代简单属于模板题, 两种方法掌握一下 题目链接/文章讲解/视频讲解:https://programmercarl.com/0513.%E6%89%BE%E6%A0%91%E5%B7%A6%E4%B8%8B%E8%A7%92%E7%9A%84%E5%80% ......
随想录 训练营 总和 序列 随想

代码随想录算法训练营第十七天| 110.平衡二叉树 257. 二叉树的所有路径 404.左叶子之和

卡哥建议:迭代法,大家可以直接过,二刷有精力的时候 再去掌握迭代法。 110.平衡二叉树 (优先掌握递归) 卡哥建议:再一次涉及到,什么是高度,什么是深度,可以巩固一下。 题目链接/文章讲解/视频讲解:https://programmercarl.com/0110.%E5%B9%B3%E8%A1%A ......
随想录 之和 训练营 随想 算法

[代码随想录]Day19-二叉树part08

## 题目:[235. 二叉搜索树的最近公共祖先](https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree/) ### 思路: BST和普通二叉树不同的一点是可以根据特性来找最近公共祖先,只要找到第一个值 ......
随想录 随想 代码 part Day

代码随想录算法训练营第十三天|单调数列:滑动窗口最大值(力扣239.)、优先级队列:前k个高频元素(力扣347.)

## 单调数列:滑动窗口最大值(力扣239.) - 给定滑动窗口的范围,求每个滑动窗口范围内的最大值 - 使用单调队列实现 - 对于最大值数字前面的数字不存入数列,对于最大值数字后面的数字存入数列中 - 单调队列中数字的大小呈递减顺序 - pop(value):如果窗口移除的元素等于单调队列的队口元 ......
随想录 数列 最大值 优先级 队列

[代码随想录]Day18-二叉树part07

## 题目:[530. 二叉搜索树的最小绝对差](https://leetcode.cn/problems/minimum-absolute-difference-in-bst/) ### 思路: 一个关键问题——BST的中序遍历是由小到大的顺序,也就是说记录遍历的前一个节点,每次比较当前节点-前一 ......
随想录 随想 代码 part Day

代码随想录算法训练营第十一天|力扣20.有效的括号、力扣1047.删除字符串中所有相邻重复项、力扣150.逆波兰表达式求值

## 有效的括号(力扣20.) - 括号匹配时使用栈解决的经典问题 - 题意其实就像我们在写代码的过程中,要求括号的顺序是一样的 - 有左括号,那么在对应位置则必须有右括号 - 第一种情况:已经遍历完了字符串,但是栈不为空,说明有相应的左括号没有右括号来匹配,所以return false 第二种情况 ......

代码随想录-二叉树-c++总结

代码随想录 (programmercarl.com) 这里总结一下一次没有思路做出来的题目 12、113、654、98、530、501 二叉搜索树的题目一开始递归做起来不太顺畅,需要巩固 此外,leetcode上已写好的函数形式会提醒我思路,例如,递归的时候到底应不应该返回值,是void还是Tree ......
随想录 随想 代码

[代码随想录]Day17-二叉树part06

## 题目:[654. 最大二叉树](https://leetcode.cn/problems/maximum-binary-tree/) ### 思路: 和前中序构造树差不多的方法,以前是返回值,现在是返回树 ### 代码: ```go /** * Definition for a binary ......
随想录 随想 代码 part Day

编程随想曲周刊(第40期)

这里记录每周的所见所闻,周日发布。点击阅读原文可以直接访问文章链接。 # 运维 1. [Linux命令不生效—提示:Input/output error](https://zhuanlan.zhihu.com/p/504027757) # 文章 1. [选择比努力重要,坚持比选择更难](https: ......
随想曲 随想 周刊

编程随想曲周刊(第41期)

这里记录每周的所见所闻,周日发布。点击阅读原文可以直接访问文章链接。 # 运维 1. [华为2288H V5 U盘安装CentOS7.5](https://blog.csdn.net/gyfvaf/article/details/128142520) 2. [网闸的工作原理](https://blo ......
随想曲 随想 周刊

[代码随想录]Day16-二叉树part05

## 题目:[513. 找树左下角的值](https://leetcode.cn/problems/find-bottom-left-tree-value/) ### 思路: 层序遍历是最好的选择了,先放右节点,再放左节点最后一个元素就是最左侧的节点。 说白了层序遍历就是广度优先搜索BFS。 ### ......
随想录 随想 代码 part Day

[代码随想录]Day15-二叉树part04

## 题目:[110. 平衡二叉树](https://leetcode.cn/problems/balanced-binary-tree/) ### 思路: ![20210203155515650.png](https://s2.loli.net/2023/08/11/zAjhQ2sON5WXaTd ......
随想录 随想 代码 part Day

代码随想录算法训练营第十六天| 104.二叉树的最大深度 111.二叉树的最小深度 222.完全二叉树的节点个数

104.二叉树的最大深度 (优先掌握递归) 卡哥建议:什么是深度,什么是高度,如何求深度,如何求高度,这里有关系到二叉树的遍历方式。大家要先看视频讲解,就知道以上我说的内容了,很多录友刷过这道题,但理解的还不够。 题目链接/文章讲解/视频讲解:https://programmercarl.com/0 ......
深度 随想录 训练营 节点 随想

代码随想录算法训练营第十五天| 层序遍历 10 ,226.翻转二叉树 101.对称二叉树 2

层序遍历 卡哥建议:看完本篇可以一口气刷十道题,试一试, 层序遍历并不难,大家可以很快刷了十道题。 题目链接/文章讲解/视频讲解:https://programmercarl.com/0102.%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E5%B1%82%E5%BA%8 ......
随想录 训练营 随想 算法 代码

[代码随想录]Day14-二叉树part03

## 题目:[104. 二叉树的最大深度](https://leetcode.cn/problems/maximum-depth-of-binary-tree/) ### 思路: 本题可以使用前序(中左右),也可以使用后序遍历(左右中),使用前序求的就是深度,使用后序求的是高度。 - 二叉树节点的深 ......
随想录 随想 代码 part Day

代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素

704 二分查找 题目 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 第一想法 判断条件是 value = target 因为数组是升序,其实每种查找方法应该相差不大? 不过 ......
随想录 训练营 随想 算法 元素

代码随想录算法训练营第十天|力扣232.用栈实现队列、力扣225.用队列实现栈

# 栈与队列 ## 理论知识 栈提供push 和 pop 等等接口,所有元素必须符合先进后出规则,所以栈不提供走访功能,也不提供迭代器(iterator)。 不像是set 或者map 提供迭代器iterator来遍历所有元素。 **栈是以底层容器完成其所有的工作,对外提供统一的接口,底层容器是可插拔 ......
队列 随想录 训练营 随想 算法

代码随想录算法训练营第十四天| 理论基础 递归遍历 迭代遍历

理论基础 卡哥建议:需要了解 二叉树的种类,存储方式,遍历方式 以及二叉树的定义 文章讲解:https://programmercarl.com/%E4%BA%8C%E5%8F%89%E6%A0%91%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 补充的知识点: ......
随想录 训练营 随想 算法 理论

(未完全掌握)代码随想录算法训练营第八、九天|KMP算法;力扣28.实现strStr(),力扣459.重复的子字符串

## KMP算法(没掌握) - 主要功能:字符串匹配 - 理论:检测文本串中是否出现过模式串 - 前缀就是包含首字母不包含尾字母的所有子串 - 后缀就是包含尾字母不包含首字母的所有子串 - 最长相等前后缀:对子串分别分析,从左向右 - **前缀表是用来回退的,它记录了模式串与主串(文本串)不匹配的时 ......
算法 随想录 训练营 九天 字符串

[代码随想录]Day13-二叉树part02

## 题目:[102. 二叉树的层序遍历](https://leetcode.cn/problems/binary-tree-level-order-traversal/) ### 思路: 先把根放进去,然后每次都是左右就可以了。 记录一个深度,当`len(res) == deepth`的时候就说明 ......
随想录 随想 代码 part Day

代码随想录-栈与队列-c++总结

很大程度上是熟悉了一遍stack queue dequeue priority_queue的语法 贴一下总结不错的参考 https://zhuanlan.zhihu.com/p/352404451 优先队列 此外,push 和 emplace这两个操作,除了一个是产生副本移动,一个是直接构造添加外, ......
随想录 队列 随想 代码

[代码随想录]Day12-二叉树part01

今天的题目就是二叉树的前中后序遍历,目前只写了递归方法,之后再补迭代方法。 ## 题目:[144. 二叉树的前序遍历](https://leetcode.cn/problems/binary-tree-preorder-traversal/) ### 思路: 前序遍历:根-左-右 ### 代码1: ......
随想录 随想 代码 part Day

代码随想录算法训练营第二天| 977. 有序数组的平方、209. 长度最小的数组

## # 977.有序数组的平方 题目链接: [有序数组的平方](https://leetcode.cn/problems/squares-of-a-sorted-array/) 题目: 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序 ......
数组 随想录 训练营 随想 算法

代码随想录算法训练营第十三天| 239. 滑动窗口最大值 347.前 K 个高频元素 总结

239. 滑动窗口最大值 (一刷至少需要理解思路) 卡哥建议:之前讲的都是栈的应用,这次该是队列的应用了。本题算比较有难度的,需要自己去构造单调队列,建议先看视频来理解。 题目链接/文章讲解/视频讲解:https://programmercarl.com/0239.%E6%BB%91%E5%8A%A ......
随想录 最大值 训练营 随想 算法

[代码随想录]Day11-栈与队列part03

## 题目:[239. 滑动窗口最大值](https://leetcode.cn/problems/sliding-window-maximum/) ### 思路: ![239.滑动窗口最大值.gif](https://s2.loli.net/2023/08/07/9ohI1LGQlZmMVjn.g ......
随想录 队列 随想 代码 part