时针 矩阵offer

剑指 Offer 36. 二叉搜索树与双向链表(中等)

题目: ![](https://img2023.cnblogs.com/blog/2679751/202308/2679751-20230814211438636-1150888080.png) ``` class Solution { public: Node* head=nullptr; Nod ......
双向 Offer 36

剑指 Offer 34. 二叉树中和为某一值的路径(中等)

题目: ![](https://img2023.cnblogs.com/blog/2679751/202308/2679751-20230814204415188-607618190.png) ``` class Solution { public: vector> result; vector p ......
路径 Offer 34

剑指 Offer 09. 用两个栈实现队列

用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 示例 1: 输入: ["CQueue","appendTail","dele ......
队列 两个 Offer 09

【剑指Offer】18、二叉树的镜像

# 【剑指Offer】18、二叉树的镜像 **题目描述:** 操作给定的二叉树,将其变换为原二叉树的镜像。 **解题思路:** 求一棵树的镜像的过程:先前序遍历这棵树的每个结点,如果遍历到的结点有子结点,就交换它的两个子结点。当交换完所有的非叶结点的左、右子结点后,就可以得到该树的镜像。 如下面的例 ......
镜像 Offer

【剑指Offer】22、从上往下打印二叉树

# 【剑指Offer】22、从上往下打印二叉树 **题目描述:** 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 **解题思路:** 本题实际上就是二叉树的层次遍历,深度遍历可以用递归或者栈,而层次遍历很明显应该使用队列。同样我们可以通过一个例子来分析得到规律:每次打印一个结点时,如果该结 ......
Offer

【剑指Offer】17、树的子结构

# 【剑指Offer】17、树的子结构 **题目描述:** 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) **解题思路:** 要查找树A中是否存在和树B结构一样的子树,我们可以分为两步:第一步,在树A中找到和树B的根结点值一样的结点R;第二步,判断树A中 ......
子结构 Offer

剑指 Offer 12. 矩阵中的路径

力扣官方解法: class Solution { public: bool exist(vector<vector<char>>& board, string word) { int h = board.size(), w = board[0].size(); vector<vector<int>> ......
矩阵 路径 Offer 12

python实战练习1:矩阵和整数相乘

1 #方法一:这是最先想到的 2 s = [[1,2,3], [4,5,6], [7,8,9]] 3 n = int(input()) 4 5 r = [] 6 for i in s: 7 a = [] #这个很重要,每次要清空 8 for j in i: 9 a.append(j * n) 10 ......
整数 矩阵 实战 python

dp-矩阵链相乘顺序

矩阵链相乘顺序 [toc] ## 问题描述 A1,A2,..,An 表示n个矩阵的序列,其中Ai为$P_{i−1}×P_i$阶矩阵,i=1,2,...,n。 向量P=表示矩阵链的输入,其中P0是A1的行数,P1是A1的列数,P1是A2的行数,以此类推。 计算这个矩阵需要做n−1次两个矩阵的相乘运算, ......
矩阵 顺序 dp

剑指 Offer 54. 二叉搜索树的第k大节点(简单)

题目: ![](https://img2023.cnblogs.com/blog/2679751/202308/2679751-20230813130240044-1768447763.png) ``` class Solution { public: void traversal(TreeNode ......
节点 Offer 54

一个mysql dba的成长之旅--第零章 绝处逢生:意外收到dba offer

(本故事纯属虚构,如有雷同实属巧合) 2018年的一个秋天的下午,江南理工大学图书馆一楼的宣讲会大厅人头攒动,充满了期待的氛围。这里正在举办一场国内知名互联网公司的宣讲会,吸引了众多毕业生前来倾听。小李身穿一套整洁的求职西装,手里拿着整齐的彩色简历,坐在室友旁边,全神贯注地聆听着台上大咖们的分享。 ......
绝处逢生 dba 之旅 mysql offer

《剑指Offer》-58-翻转单词顺序/力扣-151-反转字符串中的单词

可以使用栈,将每个单词(字符串)压栈,然后弹栈就 OK 了 好吧,实际写下来考虑到可能存在的多余空格问题,代码看起来并不简介,而且写之前就很明显直到需要最差额外 n 的空间,时间复杂度最差 2n,所以都不算好 思路是压栈的时候只压单词本身,弹栈的时候再去拼空格 ```c++ string rever ......
单词 字符串 顺序 字符 Offer

【剑指Offer】55、链表中环的入口结点

# 【剑指Offer】55、链表中环的入口结点 **题目描述:** 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 **解题思路:** 本题是一个比较典型的链表题目,难度适中。首先,对于大多人来说,看到这道题是比较开心的,因为判断一个链表是否存在环的方法,基本上大家都知道 ......
结点 入口 Offer

【剑指Offer】4、重建二叉树

# 【剑指Offer】4、重建二叉树 **题目描述:** 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回根结点。 ......
Offer

【剑指Offer】56、删除链表中重复的结点

# 【剑指Offer】56、删除链表中重复的结点 **题目描述:** 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5。 **解题思路:** 关于链表的大多数题目还是比较简单的 ......
结点 Offer

剑指 Offer 64. 求1+2+…+n(中等)

题目: ![](https://img2023.cnblogs.com/blog/2679751/202308/2679751-20230812232217818-587944382.png) ``` class Solution { public: int sumNums(int n) { //首 ......
Offer 64

复习:矩阵快速幂

## 前言 emmm太久了忘了许多 写笔记来复习一下 ## 概念 ### 矩阵乘法 什么是**矩阵乘法**? 给你两个矩阵$a,b$ 则令$c=a*b$ 有 $c_n=a_n$,$c_m=b_m$ $$\sum\limits_{i=1}^{c_n}\sum\limits_{j=1}^{c_m} c_ ......
矩阵

矩阵乘法

### 定义 俩矩阵 $A,B$,一个 $m*n$,一个 $n*u$ $C=A*B$ 计算公式为 $$ c[i][j]=\sum^{n-1}_{k=0}{a[i][k]*b[k][j]} $$ + 如果行数和列数相同的矩阵,可以称为方阵 + 如果方阵的对角线元素是 $1$,其余元素都是 $0$,那么 ......
乘法 矩阵

1572. 矩阵对角线元素的和

# 1572. 矩阵对角线元素的和 2023年8月12日19:07:51 [1572. 矩阵对角线元素的和](https://leetcode.cn/problems/matrix-diagonal-sum/) 简单 给你一个正方形矩阵 `mat`,请你返回矩阵对角线元素的和。 请你返回在矩阵主对角 ......
对角线 对角 矩阵 元素 1572

1572. 矩阵对角线元素的和

题目链接 给定一个正方形矩阵,返回对角线元素的和(两条对角线,中心的元素不要叠加两次)。 第一种方法:遍历矩阵 矩阵中某个位置(i, j)如果处于对角线上。则一定满足下列条件之一: i = j; i + j = n - 1; 根据上边的结论,可以遍历整个矩阵。如果满足条件之一,则表示该元素在对角线上 ......
对角线 对角 矩阵 元素 1572

封装矩阵一系列

```cpp struct Matrix { typedef long long ll; const ll mod = 1000000007; ll matrix[110][110]; //矩阵里的每一个数 ll line, colu; //矩阵的行,列 Matrix operator *(cons ......
矩阵

4954: 矩阵游戏

## 题目描述 婷婷是个喜欢矩阵的小朋友,有一天她想用电脑生成一个巨大的 $n$ 行 $m$ 列的矩阵(你不用担心她如何存储)。她生成的这个矩阵满足一个神奇的性质:若用 $F[i,j]$ 来表示矩阵中第 $i$ 行第 $j$ 列的元素,则 $F[i,j]$ 满足下面的递推式: $$\begin{al ......
矩阵 4954

矩阵游戏

**4954: 矩阵游戏** 时间限制(普通/Java):2000MS/6000MS 内存限制:65536KByte **描述** >婷婷是个喜欢矩阵的小朋友,有一天她想用电脑生成一个巨大的n行m列的矩阵(你不用担心她如何存储)。她生成的这个矩阵满足一个神奇的性质:若用F[i][j]来表示矩阵中第i ......
矩阵

【剑指Offer】36、两个链表的第一个公共结点

# 【剑指Offer】36、两个链表的第一个公共结点 **题目描述:** 输入两个链表,找出它们的第一个公共结点。 **解题思路:** 本题首先可以很直观的想到蛮力法,即对链表1(假设长度为m)的每一个结点,遍历链表2(假设长度为n),找有没有与其相同的结点,这显然复杂度为O(mn)。 进一步考虑, ......
结点 两个 Offer

【剑指Offer】25、复杂链表的复制

# 【剑指Offer】25、复杂链表的复制 **题目描述:** 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)。 **解题思路:** ......
Offer

【剑指Offer】16、合并两个排序的链表

# 【剑指Offer】16、合并两个排序的链表 **题目描述:** 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 **解题思路:** 首先需要判断几个特殊情况,即判断输入的两个指针是否为空。如果第一个链表为空,则直接返回第二个链表;如果第二个链表为空, ......
两个 Offer

矩阵游戏

描述 婷婷是个喜欢矩阵的小朋友,有一天她想用电脑生成一个巨大的n行m列的矩阵(你不用担心她如何存储)。她生成的这个矩阵满足一个神奇的性质:若用F[i][j]来表示矩阵中第i行第j列的元素,则F[i][j]满足下面的递推式: 递推式中a,b,c,d都是给定的常数。现在婷婷想知道F[n][m]的值是多少 ......
矩阵

tzoj4954 矩阵游戏

题目大意: 已知 a,b,c,d,n,m已知, 求f(n,m). 数据范围 1<=N,M<=10^1000 000,a<=a,b,c,d<=10^9 首先用到费马小定理将n和m缩小到int范围。 费马小定理 其中p为质数,a为不是p的倍数的正整数。 首先用到高中的数列。 F(n,m)=a·F(n,m ......
矩阵 tzoj 4954

剑指 Offer 13. 机器人的运动范围(中等)

题目: ![](https://img2023.cnblogs.com/blog/2679751/202308/2679751-20230811205715141-1668789012.png) ``` class Solution { //本题的思路为递归法 public: int cal(int ......
机器人 范围 机器 Offer 13

《剑指Offer》-57-和为 s 的两个数字

双指针 ```c++ vector twoSum(vector& nums, int target) { // 题目中说了这是一个递增数组,而且我需要两个数字组成s vector res; int smallDigit = 0, bigDigit = nums.size() - 1; // 这要结果 ......
两个 数字 Offer 57