解数 随想录 随想 皇后

代码随想录算法训练营第十三天|单调数列:滑动窗口最大值(力扣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 ......
随想录 最大值 训练营 随想 算法

Python 实现解数独 + 数独题 OCR

# 说明 上班摸鱼的时候无意看到一篇文章:[Solving Sudoku with Poetry's dependency resolver](https://www.splitgraph.com/blog/poetry-dependency-resolver-sudoku),利用 Python 的 ......
解数 Python OCR

八皇后问题回溯法

回溯法八皇后问题 ```cpp #include #include #include #include #define print_board(board, ...) {\ printf(__VA_ARGS__); \ printf("\n"); \ print_board_(board);\ } ......
皇后 问题

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

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

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

20. 有效的括号 卡哥建议:讲完了栈实现队列,队列实现栈,接下来就是栈的经典应用了。 大家先自己思考一下 有哪些不匹配的场景,在看视频 我讲的都有哪些场景,落实到代码其实就容易很多了。 题目链接/文章讲解/视频讲解:https://programmercarl.com/0020.%E6%9C%89 ......

代码随想录算法训练营第七天|力扣334.反转字符串、力扣541.反转字符串II、剑指offer05.替换空格、力扣151.反转字符串、剑指offer58-II左旋转字符串里的单词

# 字符串 ## 反转字符串(力扣344.) - **如果题目关键的部分直接用库函数就可以解决,建议不要使用库函数。** 毕竟面试官一定不是考察你对库函数的熟悉程度, 如果使用python和java 的同学更需要注意这一点,因为python、java提供的库函数十分丰富。 - **如果库函数仅仅是 ......
字符串 字符 随想录 左旋 offer

代码随想录-字符串-c++总结

关于字符串string一些库函数的使用,不太熟悉,导致开始做的时候比较磕磕绊绊 主要用到了<algorithm>中的reverse,以及string的resize,substr,erase等,在这贴一个 C++ 字符串(string)常用操作总结 - 知乎 (zhihu.com) C++的strin ......
随想录 字符串 随想 字符 代码

C/C++ 数据结构五大核心算法之回溯法-N皇后问题

N皇后问题:在 n * n 的棋盘上要摆 n 个皇后,要求:任何两个皇后不同行,不同列也不在同一条斜线上,求给一个整数 n ,返回 n 皇后的摆法数。 #include <iostream> #include <math.h> #define N 8 using namespace std; int ......
数据结构 皇后 算法 核心 结构

[代码随想录]Day10-栈与队列part02

## 题目:[20. 有效的括号](https://leetcode.cn/problems/valid-parentheses/) ### 思路: 很简单的一个栈的题目: 1. 如果是左括号就存 2. 如果是右括号就和栈顶的匹配 1. 匹配失败就返回false 2. 匹配成功就删除栈顶元素 3. ......
随想录 队列 随想 代码 part

代码随想录算法训练营第四十六天| 84.柱状图中最大的矩形

84.柱状图中最大的矩形 要求: 有多个矩形,要求返回可能勾勒出的最大矩形 思路: 寻找右边第一个小于当前节点的index 寻找左边第一个小于当前节点的index 右边:累加的方式,如果当前节点小于,那么判读后放进去 左边,放进去了之后,当前节点后一个,就是左边最小的 代码: 1 // 要求:和相邻 ......
随想录 矩形 训练营 随想 算法