时针 矩阵offer
剑指 Offer 36. 二叉搜索树与双向链表
本题比较重要的有两点: 1.一般认为有序的二叉搜索树,都是中序遍历。 2.中序遍历的递归顺序,得到的就是排好序的,就是链表的顺序,因此只需管遍历的过程中的链表指向即可。 class Solution { public: // pre将来指向尾节点,head指向头节点 Node *pre = null ......
剑指 Offer 16. 数值的整数次方(中等)
题目 ![](https://img2023.cnblogs.com/blog/2679751/202308/2679751-20230818213231189-1248629502.png) ``` class Solution { public: double traversal(double ......
剑指 Offer 34. 二叉树中和为某一值的路径
dfs class Solution { public: vector<vector<int>> res; vector<int> tmp; void dfs(TreeNode *node, int target) { if(node == nullptr ) return; target -= n ......
矩阵
# 一、矩阵的定义 对于 $m×n$ 个数的矩阵 $a_{i,j},i=[1,m],j=[1,n]$,有 $m$ 行 $n$ 列,称为 $m×n$ 矩阵,这个矩阵排列如下: $$\left[\begin{matrix} a_{1,1} & a_{1,2} & ⋯ & a_{1,n} \\ a_{2, ......
【剑指Offer】65、矩阵中的路径
# 【剑指Offer】65、矩阵中的路径 **题目描述:** 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。 例如 ......
【剑指Offer】62、二叉搜索树的第k个结点
# 【剑指Offer】62、二叉搜索树的第k个结点 **题目描述:** 给定一棵二叉搜索树,请找出其中的第k小的结点。例如(5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。 **解题思路:** 本题实际上比较简单,主要还是考察对树的遍历的理解,只要熟练掌握了树的三种遍历方式及 ......
【剑指Offer】61、序列化二叉树
# 【剑指Offer】61、序列化二叉树 **题目描述:** 请实现两个函数,分别用来序列化和反序列化二叉树。 **解题思路:** 序列化是指将结构化的对象转化为字节流以便在网络上传输或写到磁盘进行永久存储的过程。反序列化是指将字节流转回结构化的对象的过程,是序列化的逆过程。 受第4题:重建二叉树的 ......
代码随想录算法训练营第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II
977.有序数组的平方 题目 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 第一想法 隐隐约约有印象是用双指针法头尾一起向中间移动,因为这个数组的特点决定了平方数中间小两边大 思路&题解 class Solution { publ ......
剑指 Offer 07. 重建二叉树(中等)
题目: ![](https://img2023.cnblogs.com/blog/2679751/202308/2679751-20230817211855356-794842981.png) ``` class Solution { //本题思路:利用中序遍历,从前序遍历中找到左、右子树的根节点 ......
《剑指Offer》-31-栈的压入、弹出序列
经典的选择题,但是这里要求用代码实现 我们可以根据 pop 结果去模拟这个过程,如果能够拟合,就是 true 什么情况下拟合成功? 两个指针都指向了数组末尾,同时栈空 太复杂了,条件能否简化一点? 什么时候拟合失败? pushed 指针指向末尾全部压入栈中,但是poped 数组指针卡住了,不匹配导致 ......
《剑指Offer》-16-数值的整数次方
将 n 次相乘的幂运算转化为 log2N 次平方运算,并且采用**递归**算法 原书给出的==最优算法本身不处理负数,是外层函数处理的== ```cpp double myPow(double x, int n) { double res = pow(x, abs(n)); if (n > 1);/ ......
【剑指Offer】60、把二叉树打印成多行
# 【剑指Offer】60、把二叉树打印成多行 **题目描述:** 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 **解题思路:** 本题可类比第22题:从上往下打印二叉树[https://www.cnblogs.com/bujidao1128/p/17627566.html]( ......
【剑指Offer】59、按之字形顺序打印二叉树
# 【剑指Offer】59、按之字形顺序打印二叉树 **题目描述:** 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 **解题思路:** 这道题仍然是二叉树的遍历,相当于层次遍历,可以和第22题:从上 ......
【剑指Offer】58、对称的二叉树
# 【剑指Offer】58、对称的二叉树 **题目描述:** 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 **解题思路:** 本题判断一棵树是不是对称的,和第18题可以对比分析:二叉树的镜像,和LeetCode第101题:101. ......
剑指 Offer 37. 序列化二叉树(困难)
题目: ![](https://img2023.cnblogs.com/blog/2679751/202308/2679751-20230816211423205-318109193.png) ``` class Codec { public: void rserialize(TreeNode* r ......
73.矩阵置零
[73.矩阵置零](https://leetcode.cn/problems/set-matrix-zeroes/solutions/6594/o1kong-jian-by-powcai/?envType=study-plan-v2&envId=top-100-liked) 思路: 思路一: 用 O ......
240. 搜索二维矩阵 II
[240. 搜索二维矩阵 II](https://leetcode.cn/problems/search-a-2d-matrix-ii/solutions/2361487/240-sou-suo-er-wei-ju-zhen-iitan-xin-qin-7mtf/?envType=study-pla ......
图论之存图-----邻接矩阵
![image](https://img2023.cnblogs.com/blog/3245044/202308/3245044-20230816100654756-1565941597.png) ###跟着思路敲了一遍,感觉清晰多了,但是还得多复习。就是利用了深度搜索,很奇妙。 点击查看代码 `` ......
【剑指Offer】39、平衡二叉树
# 【剑指Offer】39、平衡二叉树 **题目描述:** 输入一棵二叉树,判断该二叉树是否是平衡二叉树。这里的定义是:如果某二叉树中任意结点的左、右子树的深度相差不超过1,那么它就是一棵平衡二叉树。 **解题思路:** 首先对于本题我们要正确理解,一般情况下,平衡二叉树就是AVL树,它首先是二叉搜 ......
【剑指Offer】57、二叉树的下一个结点
# 【剑指Offer】57、二叉树的下一个结点 **题目描述:** 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 **解题思路:** 本题解决起来并不是很困难,主要是分析清楚所有可能的不同情况。对于中序遍历序列 ......
【剑指Offer】38、二叉树的深度
**题目描述:** 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 **解题思路:** 本题相对比较简单。根据二叉树深度的定义,我们有以下理解:如果一棵树只有一个结点,那么它的深度为1。如果根结点只有左子树而没有右子树,那么树 ......
剑指 Offer 38. 字符串的排列(中等)
题目: ![](https://img2023.cnblogs.com/blog/2679751/202308/2679751-20230815211654949-430689338.png) ``` class Solution { public: vector result; string pa ......
矩阵最值
题目描述 我们有一个N 行 M列的矩阵,现在小Q有 K 个问题,每次询问一个以 (X1,Y1)为左上角, (X2,Y2)为右下角的子矩阵的最大值。 输入格式 第一行三个整数 N,M,K 。 接下来 N 行,每行有 M个整数,设Ai,j 为矩阵 i 行j 列的数字。 接下来 k 行,每行 4 个整数 ......
CUDA之矩阵转置(全局内存、共享内存)
# 使用全局内存 [完整代码链接](https://github.com/brucefan1983/CUDA-Programming/blob/master/src/07-global-memory/matrix.cu) ## A合并访问、B非合并访问 ```c++ #ifdef USE_DP ty ......
语言基础2 矩阵和数组
语言基础2 矩阵和数组 矩阵和数组是matlab中信息和数据的基本表示形式 可以创建常用的数组和网格 合并现有的数组 操作数组的形状和内容 以及使用索引访问数组元素 用到的函数列表如下 一 创建 串联和扩展矩阵 矩阵时按行和列排列的数据元素的二维数据元素的二维矩形数组。 元素可以是数字、逻辑值、日期 ......
【剑指Offer】26、二叉搜索树与双向链表
**题目描述:** 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 **解题思路:** 首先要理解此题目的含义,在双向链表中,每个结点都有前后两个指针;二叉树中,每个结点都有两个指向子结点的左右指针,同时,二叉搜索树树也是一种排序的 ......
【剑指Offer】 24、二叉树中和为某一值的路径
# 【剑指Offer】 24、二叉树中和为某一值的路径 **题目描述:** 输入一颗二叉树的根结点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前) **解题思路:** ......
【剑指Offer】23、二叉搜索树的后序遍历序列
# 【剑指Offer】23、二叉搜索树的后序遍历序列 **题目描述:** 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 **解题思路:** 对于后续遍历序列,序列的最后一个值一定是树的根结点,而由二叉搜索树 ......
54. 螺旋矩阵
[54. 螺旋矩阵](https://leetcode.cn/problems/spiral-matrix/description/?envType=study-plan-v2&envId=top-100-liked) ``` class Solution { public List spiralO ......