- 博客(123)
- 资源 (10)
- 问答 (4)
- 收藏
- 关注
原创 线性代数 | 分开写 |第二章 矩阵及其运算 | 3. 逆矩阵_back
定义:设ABAB是n阶方阵,E\mathbf{E}E是n阶单位阵,若ABBAEABBAE,则称 A 为 可逆矩阵,并称B\mathbf{B}B是 A 的 逆矩阵,并称B\mathbf{B}B是 A 的逆矩阵,且逆矩阵是唯一的,记作A−1A−1。注意逆矩阵是相互的,即有A−1BB−1AA−1BB−1AA\mathbf{A}A可逆的 充要条件 是∣A∣≠0∣A∣0,当∣A∣≠0∣A∣。
2024-04-19 15:37:58 1
原创 线性代数 | 分开写 |第二章 矩阵及其运算 |5. 矩阵的分块法
是 A 的逆矩阵,且逆矩阵是唯一的,记作。,则称 A 为 可逆矩阵,并称。是 A 的 逆矩阵,并称。注意逆矩阵是相互的,即有。可逆的 充要条件 是。
2024-04-19 14:44:46 252
原创 线性代数 | 分开写 |第二章 矩阵及其运算 | 3. 逆矩阵
考研要求中,分块矩阵求逆必有一块为全零 根据全零块位置不同,一共有四种情况,可以直接记住结论当全零块不止一块时,也可以直接套公式,会更简化,例如一般考虑分块主对角阵和副对角阵,有 注意副对角线要反着写(这里副对角线的省略符号katex不支持,所以用水平的代替了)
2024-04-19 10:03:29 94
原创 C++ shared_ptr 、weak_ptr具体实现分析, test ok
weak_ptr 设计的目的是为配合 shared_ptr 而引入的一种智能指针来协助 shared_ptr 工作, 它只可以从一个 shared_ptr 或另一个 weak_ptr 对象构造, 它的构造和析构不会引起引用记数的增加或减少。同时weak_ptr 没有重载*和->,但可以使用 lock 获得一个可用的 shared_ptr 对象(引用计数会增加1)。shared_ptr 采取引用计数来表示一块内存被几个智能指针所共享,当引用计数为0时,会自动释放该内存,避免了忘记手动释放造成的内存泄露问题。
2024-03-29 09:49:10 361
原创 递归思想的理解
大师 L. Peter Deutsch 说过:人理解迭代,神理解递归。毋庸置疑地,递归确实是一个奇妙的思维方式。对一些简单的递归问题,我们总是惊叹于递归描述问题的能力和编写代码的简洁,但要想真正领悟递归的精髓、灵活地运用递归思想来解决问题却并不是一件容易的事情。在正式介绍递归之前,我们首先引用知乎用户李继刚对递归和循环的生动解释:递归:你打开面前这扇门,看到屋里面还有一扇门。你走过去,发现手中的钥匙还可以打开它,你推开门,发现里面还有一扇门,你继续打开它。
2024-03-21 08:00:03 244
原创 019: 单词拆分 139
给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s。解释: 返回 true 因为 “leetcode” 可以由 “leet” 和 “code” 拼接成。输入: s = “leetcode”, wordDict = [“leet”, “code”]链接:https://leetcode-cn.com/problems/word-break。注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。来源:力扣(LeetCode)
2024-03-18 19:34:07 295
原创 217.存在重复元素
给你一个整数数组 nums。如果任一值在数组中出现 至少两次 ,返回 true;如果数组中每个元素互不相同,返回 false。
2024-03-18 19:21:44 332
原创 剑指 Offer 09.用两个栈实现队列
用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )思路。
2024-03-18 19:18:28 346
原创 C++小白学力扣之977.有序数组的平方
首先,我们拿到一个数组题,根据题目。我们就能确定我们要运用什么方法来解答它,一般有两种方法,第一种是大家都能想到的的,暴力求解法,本题,如果使用暴力法,就是将数组nums中的数平方后直接排序。暴力求解我们就不过多叙述,代码我直接放在下边了,
2024-03-18 19:16:29 377
原创 算法 - 滑动窗口最大值
给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。滑动窗口每次只向右移动一位。首先定义一个双端队列(滑动窗口记录数组的下标),模拟滑动窗口,窗口内的元素始终保持从左到右的大小关系为大->小,数据会从窗口的右边进入。当新进的元素大于或等于滑动窗口的最右元素,则将最右元素弹出,依次直到最右元素大于该元素或滑动窗口为空,然后将该元素压入滑动窗口。然后,检查最左边元素是否符合要求(是否过期),如果过期,则将其弹出。将当前窗口(已形成窗口)的最左元素(最大元素)添加到结果数组中。
2024-03-18 19:03:24 329
原创 【leetcode】表示数值的字符串, test ok
请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100"、“5e2”、"-123"、“3.1416"及”-1E-16"都表示数值,但"12e"、“1a3.14”、“1.2.3”、"±5"及"12e+5.4"都不是。分析通过题目总结数值的字符串遵循的模式:A[.[B]][e|EC]或者.B[e|EC],其中A为数值的整数部分,B紧跟着小数点为数值的小数部分,C紧跟着’e’或者’E’为数值的指数部分。上述A和C都是可能以’+‘或者’-'开头的0至9的数位串;
2024-03-17 09:25:00 327
原创 剑指 Offer 05. 替换空格, test ok
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。限制:0 <= s 的长度 <= 10000思路:python java语言都可以调用replace函数,c++也可使用正则表达式直接返回。
2024-03-17 09:00:17 333
原创 C++实现最小覆盖子串
给你一个字符串 s 、一个字符串 t。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 “”。注意:对于 t 中重复字符,我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。如果 s 中存在这样的子串,我们保证它是唯一的答案。
2024-03-17 08:49:42 366
原创 【c++】leetcode34 在排序数组中查找元素的第一个和最后一个位置
【代码】【c++】leetcode34 在排序数组中查找元素的第一个和最后一个位置。
2024-03-15 16:41:45 350
原创 环形链表2(C++), test ok
与环形链表1一样,我们需要定义慢指针和快指针,确定链表是否有环,如果链表没有环的话,直接置空即可。如果链表有环,则需要向环形链表1一样,让快指针不断追赶慢指针,找到恰好追上的结点。本题如果想找到开始入环的第一个结点,则需要用到一个结论:定义两个新指针,一个从头开始走,一个从慢指针和快指针相遇的地方开始走,两者恰好在链表开始入环的地方相遇。
2024-03-15 16:25:23 368
原创 c++ 模板类 声明和定义都放在.h文件的原因
首先,一个编译单元(translation unit)是指一个.cpp文件以及它所#include的所有.h文件,.h文件里的代码将会被扩展到包含它的.cpp文件里,然后编译器编译该.cpp文件为一个.obj文件(假定我们的平台是win32),后者拥有PE(Portable Executable,即windows可执行文件)文件格式,并且本身包含的就已经是二进制码,但是不一定能够执行,因为并不保证其中一定有main函数。
2024-03-15 12:32:36 352
原创 C语言:字符串逆序输出, test ok
【问题描述】字符串逆序:设计函数功能是将一个字符串逆序,函数声明:void stringNx(char a[ ]),使用这个函数完成将输入的字符串逆序输出。【样例说明】【评分标准】2个测试数据。【输入形式】要求输入一个字符串。【输出形式】逆序后输出。【样例输入】abcd。【样例输出】dcba。
2024-03-14 16:38:18 373
原创 剑指offer C ++双栈实现队列
队列:先进先出,即插入数据在队尾进行,删除数据在队头进行;栈:后进先出,即插入与删除数据均在栈顶进行。2. 思路两个栈实现一个队列的思想:用pushStack栈作为push数据的栈,用popStack栈作为pop数据的栈。只要是对队列进行push操作,就将数据push入pushStack栈中。要实现队列的pop操作,有二点原则,如果popStack为空的话那么我们就将pushStack所有的元素放到popStack中,然后取popStack栈顶元素就是队列的队头;
2024-03-08 16:02:44 429
原创 剑指offer C++链表02:反转链表
大家好,我是酒馆店小二。力扣206.翻转链表。题意:反转一个单链表。示例:输入: 2->3->4->5->NULL输出: 5->4->3->2->NULL2.迭代如图,定义pre指针,初始化为 nullptr;定义cur指针,指向头结点;定义temp指针,指向cur->next节点,为什么要指向这个节点?因为接下来要改变cur->next的指向,将cur->next指向pre;
2024-03-08 15:29:11 390
原创 [剑指offer] 数组中重复的数字
数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。例如,如果输入长度为 7 的数组 [2,3,1,0,2,5,3],那么对应的输出是 2 或者 3。存在不合法的输入的话输出 -1。📚 题目描述:在一个长度为 的数组里的所有数字都在 0 到 n−1。
2024-03-08 14:19:07 324
原创 笔试题7——在数组中找出三个数字和为0的全部组合, test ok
在数组中找出三个数字使得它们的和为0,找出所有的这种不包含重复的组合思路:首先将数组元素从小到大排序,设三个元素下标i,j,k,将i从头开始遍历,j初始化为i+1,k初始化为n-1;当三元素之和小于0时,j++;当三元素之和大于0时,k–;当三元素之和等于0时,记录此时的i,j,k;while循环结束后执行i++,进行新一轮寻找。
2024-03-08 14:05:30 368
原创 11. 剑指offer 盛最多水的容器
给定一个长度为n的整数数组height。有n条垂线,第i条线的两个端点是(i, 0)和。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。你不能倾斜容器。49图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。
2024-03-08 10:47:11 86
原创 【剑指offer】C++二维数组查找一个数字, test ok
在一个 n * m 的二维数组中,每一行都按照从左到右 非递减 的顺序排序,每一列都按照从上到下 非递减 的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
2024-03-08 08:35:31 319
原创 【剑指offer】面试题49:丑数
1. 问题描述2. 代码实现方法一:顺序判断通过遍历从1开始的每个数字得到结果,算法效率不是很高class Solution {public: int nthUglyNumber(int n) { if( n <= 0 ) return 0; int index_number = 0; int Ugly_number = 0; while ( Ugly_number <
2024-03-06 16:41:57 103
原创 剑指 Offer 56 - II. LCR 004.只出现一次的数字|I
在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。
2024-03-06 16:30:15 138
socket通过传输protobuf通信
2022-10-03
c++ vector保存子类的指针
2023-01-15
安装openDDS的时候提示下面的错误,解决下。
2022-01-09
cout<<""<<""<<endl;
2021-04-23
map嵌套,相同的key为什么value没有被覆盖掉
2021-01-23
undefined reference to `operator new
2020-12-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人