- 博客(68)
- 资源 (1)
- 收藏
- 关注
原创 【git】已上传虚拟环境的项目更改成不再上传虚拟环境/拉取除虚拟环境以外的项目
虽然git用了很长时间,但是距离精通还是太远了。注意到虚拟环境是因为上传项目时用到的系统是macOS,而拉取项目时用到的系统是win。
2025-02-18 15:25:46
448
原创 【c++&leetcode】69. Sqrt(x)
以中间的元素为界,如果大于中间元素,范围限定在右半边,如果小于中间元素,范围限定在左半边。假设数组元素数为n,范围依次是。假设 mid * mid(中间元素*中间元素) > 214783647,就会引发整数溢出。算术平方根的区间在[1, x]。所以 这里设置的数据类型是int64_t。最困难的是能否意识到用二分搜索法解题。假设通过k次找到指定元素,时间复杂度为O(logn)
2024-05-28 17:22:45
286
原创 【c++&leetcode】35. Search Insert Position
由于给到的数组是从小到大的,可以使用二分搜索法,即以中间的元素为界,如果大于中间元素,范围限定在右半边,如果小于中间元素,范围限定在左半边。假设数组元素数为n,范围依次是。假设通过k次找到指定元素,时间复杂度为O(logn)时间复杂度O(logn)
2024-04-29 09:16:26
258
原创 【深入理解计算机系统第3版】截断数字练习题2.24
假设将一个4位数值(用十六进制数字0~F表示)截断到一个3位数值(用十六进制数字0~7表示)。填写下表,根据那些位模式的无符号和补码解释,说明这种截断对某些情况的结果。
2024-04-17 12:49:11
336
原创 【c++&leetcode】26. Remove Duplicates from Sorted Array
在map中插入元素的平均时间复杂度为O(logn),这是因为map通常被实现为平衡的二进制搜索树(例如,红黑树),其中每个插入操作涉及从根遍历树到适当的叶节点,这平均需要O(logn)时间。由于映射的大小最多等于“nums”中的唯一元素的数量,因此该循环的时间复杂度为O(n),其中n是“nums’中的唯一元件的数量。-与“std::unordered_map”相比,“std::map”通常具有更高的内存开销,因为它需要为树结构存储额外的指针。思路是map元素的特点是唯一性,每一个元素都是独一无二的。
2024-04-13 06:05:11
360
原创 【c++&leetcode】14. Longest Common Prefix
排序一组数组需要O(nlogn)。比较两个字符需要O(1)的时间复杂度,最大迭代次数是最短共有字符串的长度,假设为m。所以O(nlog(n)+m) = O(nlog(n))。如果按照字母顺序排序数组中的元素,那么第一个元素和最后一个元素之间的比较会有最不同的前缀。时间复杂度为O(nlog(n)),其中m是最大长度,n为元素个数。时间复杂度如果有分析不到位的地方,请各位多多指教。
2024-04-12 20:25:03
377
原创 【深入理解计算机系统第3版】有符号数和无符号数转换以及移位运算练习题2.23
考虑下面的C函数:假设一个采用补码运算的机器上以32位程序来执行这些函数。还假设有符号数值的右移是算术右移,而无符号数值的右移是逻辑右移。
2024-04-04 14:29:28
616
原创 【c++&leetcode】1382. Balance a Binary Search Tree
1. 将最初的树转变为藤蔓。通过进行右旋转,我们将树展平为“链表”,其中头是以前最左边的节点,尾部是以前最右边的节点。4. 计算最接近的完美平衡树中的节点数:m = pow(2, h) - 1。3. 计算最接近的完美平衡树的高度:h = log2(cnt + 1)。7. 将 m 除以 2,并在 m / 2 大于零时重复上述步骤。5. 向左旋转 cnt - m 个节点以掩盖多余的节点。2. 将树转换为藤蔓后,计算 节点总数(cnt)。6. 左旋转 m/2 个节点。
2024-02-27 01:31:19
489
原创 【c++&leetcode】895. Maximum Frequency Stack
pop的要求是先找到出现次数最高的元素,再返回距离栈顶最近的元素。使用unordered_map<int, stack<int>>类型可以满足这样存储,以频次分类元素并以栈的结构存储。unordered_map<int, int> freq用于存储每个元素的频次。freq每次变化都记录在freq_stack中,或者说freq被录入为freq_stack元素的键。max_freq用于记录最高频次。注意:最高频次的元素被pop之后,下一次最高频次就是max_freq-1。
2024-01-28 12:09:31
498
原创 【c++&leetcode】1913.Maximum Product Difference Between Two Pairs(归并排序和快速选择排序时间复杂度证明)
这个问题很容易解决。只要将数组排序,返回 最大元素*第二大元素-最小元素*第二小元素 即可。通过这道题顺便复习一些排序算法。
2024-01-21 11:10:41
383
原创 【c++&leetcode】2265. Count Nodes Equal to Average of Subtree
这道题如果从上往下访问结点,只能计算和判断根节点的值是否是子树和的平均值。而从下往上访问结点,适用于所有的结点。
2023-12-10 18:08:13
490
1
原创 【Numpy】一组标量乘以向量
1. 如果数组的形状是(100,)(一个一维数组),向量的形状是(2,)(同样是一维的),广播规则不会自动调整它们的形状以进行逐元素相乘。在NumPy中,为了进行广播,两个数组的维度要么相同,要么其中一个维度为1。在NumPy中,当你对一个数组和一个向量进行逐元素相乘时,它们的形状需要满足广播规则,才能够进行元素级的乘法操作。2. 如果数组的形状是`(100, 1)`(一个具有单列的二维数组),广播规则可以调整它们的形状,因为数组的第二个维度为1,从而使得逐元素相乘的操作变得可能。
2023-12-03 11:31:52
467
原创 【mac】github上传遇到git-credential-osxkeychain wants to use your confidential information stored in
这里密码指的是mac的开机密码。
2023-11-29 03:47:43
735
原创 【anaconda】numpy.dot 向量点乘小技巧
假设向量A=[1,1], 向量B=[2,3]。但是如果没有维度也一样可以求得内积,而且结果不会套在列表里。当然,如果是两个列向量相乘,肯定是不对的。
2023-11-26 11:09:11
502
原创 【c++&Leetcode】206. Reverse Linked List
总之,由于递归调用堆栈,空间复杂度为O(n)。每个级别的递归都贡献了恒定的空间,但级别的数量与链表的长度成比例。-因此,“reverseList3”函数的总体空间复杂度为O(n),其中n是链表的长度。-在每个递归级别,函数都使用常量空间(局部变量:“tail”、“head”)。-由于递归的深度是O(n),因此这些变量贡献的空间复杂度也是O(n)。-因此,调用堆栈贡献的空间复杂度是O(n),其中n是链表的长度。-该函数是递归的,每次递归调用都会向调用堆栈添加一个新帧。-递归的深度取决于链表的长度。
2023-11-23 01:09:00
1112
原创 【c++&Leetcode】287. Find the Duplicate Number, 142. Linked List Cycle II
这就可以将索引视为指针,元素视为地址,画出下面这样的图进而观察到重复数的特点。这也就意味着,如果从不同方向的两个起点出发都是可以到达重复数的位置。如果两个起点和重复数位置的距离一样的话,那么两个指针一起从起点处出发必然可以相遇,而相遇的位置正好就是重复数的位置。起点1就是从索引0处开始。快慢指针同时从索引0处出发,它们第一次相遇的位置就是起点2。),还可以用来检测重复数。找到起点2之后我们可以再让一个慢指针从0处出发,两个慢指针同时出发,相遇的位置即重复数。如下图,两个指针走了三次后最终在3处相遇。
2023-11-01 15:17:31
166
原创 【c++&Leetcode】141. Linked List Cycle
这个算法简单来说就是设置一个慢指针(一次移动一个位置)和一个快指针(一次移动两个位置)。在遍历过程中,如果慢指针和快指针都指向同一个元素,证明环存在;点击上面这个标题链接,主要是帮助我们理解为什么这两个指针一定会相遇(ps. 即使两个指针起点位置不同依然成立)。经历一次移动,s会向前走一步,此时距离会变成10+1=11。f向前走两步,此时距离会变成9。s为慢指针,f为快指针。假设他们之间的距离为10,如下图所示。综上,快慢指针的距离会一次次减少,最终相遇。
2023-10-20 10:47:58
467
原创 【c++&Leetcode】232. Implement Queue using Stacks
我可以说迭代器类似于指针吗?因为它们都需要使用 * 运算符来访问值。
2023-10-09 00:28:50
169
原创 【Leetcode&C++】1071. Greatest Common Divisor of Strings
1071. Greatest Common Divisor of Strings
2023-02-06 00:27:16
367
原创 【C++】字符串比较一定要注明string类型
int main(){ string def = "DEF"; string abc = "ABC"; bool test = def > abc; cout << test << endl; // 1 test = "DEF" > "ABC"; cout << test << endl; // 0 return 0;}输出很明显,第一个输出是我们想要的答案(DE.
2022-01-08 16:41:55
217
原创 【vscode】c++使用vector报错ERROR: Unable to start debugging. Unexpected GDB output from command “-exec-run
完整报错是在DEBUG CONSOLEERROR: Unable to start debugging. Unexpected GDB output from command "-exec-run". During startup program exited with code 0xc0000139.问题使用vscode编写c++代码需要自己下载编译器。网上有两种方法,一个是官网推荐的下载msys,然后通过msys下载mingw64,具体方法在这里;另外一种方法是直接下载mingw,具.
2022-01-03 13:18:51
3026
原创 【C++】模板定义位置引发未定义标识符 “E“
代码如下#include <iostream>#include "ArrayQueue.h"#include "LoopQueue.h"using namespace std;template<typename E>void try_ArrayQueue(){ ……}void try_LoopQueue(){ ……}double testQueue(E *queue, int opCount){ //未定义标识符 "E" cloc.
2021-11-30 13:33:13
1636
原创 【Leetcode&C++】525. Contiguous Array
问题入口实现错误做法:3个for循环引发Time Limit Exceeded 按照题意,返回最大的连续的有相同个数的0和1的元素个数maxLength。既然0和1的个数相同,那么maxLength就应该是偶数。如果numsSize是偶数,那么maxLength最大可能是numsSize;如果numsSize是奇数,那么maxLength最大可能是numsSize-1。对于maxLength出现的这两种情况,有且只有一个可能性...
2021-11-22 12:09:37
112
原创 【yum】error: unpacking of archive failed on file
用yum下载mysql-community*时报错看到这篇文章时 ,猜想可能这个包的哈希值不对劲,所以从官方下了一遍包。网站在这里,通过搜索你也可以找到其他包。结果就好了
2021-10-20 23:48:51
670
原创 【nginx】使用rc.local开机自启nginx的话不要轻信systemctl status nginx
在rc.local中写入/usr/local/nginx/sbin/nginx可以实现开机自启nginx如果你同时写了nginx.service文件,也同时设置了systemd对nginx的开机自启那么开机后查看nginx状态会让你一头雾水我的nginx没有启动么??查看一下80端口,nginx正在监听,说明nginx正在运行实际上查看rc-local服务的状态就知道nginx已经启动了。Started /etc/rc.d/rc.local Compati...
2021-08-28 09:55:08
1887
原创 【总结-NFS】读“NFS服务的用户身份映射”有感
实际的nfs权限=nfs设置的权限+文件夹的权限 r权限 w权限 实际的nfs权限 nfs设置的权限 有r 有w rw 文件夹的权限 有r 有w nfs设置的权限 没有r 有w w(仅有w不能进..
2021-08-28 09:18:56
781
原创 【kvm+Centos7】虚拟机通过NAT或桥接的方式联网
目录ip获取方式设置为dhcp更改网络源一些原理ip获取方式设置为dhcpnmcli connection modify 网卡名称 ipv4.method auto #IP获取方式设置为dhcp进入/etc/sysconfig/network-scripts/ , 网卡的配置文件都在这里因为我是对eth0设置了dhcp,所以截下它的配置文件内容要注意如果之前网卡是手动配了ip地址,即使执行了"nmcli connection modify 网卡名...
2021-08-23 16:49:34
613
原创 【nignx报错】启动服务时line1/2/3/4/5多行报错
可能是/usr/local/nginx/sbin/nginx文件出了问题。正常的nginx文件打开是这样的 但如果改了这个可执行文件,就会报错
2021-07-30 19:35:28
203
原创 【印象笔记】绕开bug的小技巧
使用印象笔记有很多年了,感觉就是又爱又恨。爱它的创新和方便,恨它的bug和不修复bug的无作为。如果您和我一样,因为不小心买了长期会员或者记录了大量笔记等原因不好迁移到其他软件上的话,希望这篇文章能够帮到您。如果以下问题有更好的解决方法的话,请务必留言。
2021-07-17 11:54:36
1492
原创 【Leetcode报错】多维数组创建引发的heap-buffer-overflow
创建三维数组在visual studio 2017没有报错,但是在leetcode报错heap-buffer-overflow错误写法 int ***IntervalIndex = (int***)malloc(sizeof(int)*max); for (int i = 0; i < max; i++) { IntervalIndex[i] = (int**)malloc(sizeof(int)*EventAccount[i]); for (int j = 0; j <
2021-01-10 15:48:50
204
原创 【Leetcode报错】 error: stray ‘\302’ in program
原因出现该错误的原因,请移步到这里。解决方法1、打开IDE,将报错的文本复制粘贴进去。2、复制IDE中的文本,然后粘贴回leetcode。
2021-01-03 16:13:56
591
原创 【Leetcode&C&并查集】959. Regions Cut By Slashes
问题入口https://leetcode.com/problems/regions-cut-by-slashes/实现这道题是对并查集的练习。并查集两个重要操作是Union和find。而合并什么是个问题。合并线段,将连在一起的线段合并为一个集合,这样就能得到线段数,但是线段数和区域数之间不是线性关系。例如下图(黑线用来划分网格,红线是题目给过的参数),线段数分别是2和5,但是区域数都是4。而合并区域的话,如果还把网格看成一个整体就没办法合并。解决方案是把一个网格分成四个三角形,不论红线是
2020-10-29 14:12:22
235
原创 【Leetcode&C&Tire】677. Map Sum Pairs
问题入口实现通过递归很好解决该问题,但是由于遍历次数过多引发了Runtime Error(ps:这是用C语言编写的情况下),所以需要寻找其他解决方法。在我原本使用递归思路解决问题时,我对MapSum结构体定义如下:struct MapSum{MapSum **next; int value;};value>0(题目给的值都是正数)就表达了这个单词的值,同时也说明这是单词的结尾。等于一个属性参与了两个动作。如果我把每次加入的值都加在每一个字母上又会如何呢...
2020-10-05 16:13:24
145
原创 【Leetcode&C语言&Tire】208.Implement Trie (Prefix Tree) & 211.Design Add and Search Words Data Structure
这两道题难度是递进的关系,所以适合一起说。以下为题目入口208.Implement Trie (Prefix Tree)211.Design Add and Search Words Data Structure目录208.Implement Trie (Prefix Tree)实现211.Design Add and Search Words Data Structure实现208.Implement Trie (Prefix Tree)实现...
2020-09-27 13:19:28
343
原创 【memset()应用】C语言初始化自定义结构的野值
typedef struct TestMap TestMap;struct TestMap { int k; int v;};int main(){ int **test = (int **)malloc(sizeof(int*) * 2); if (test[0] == NULL) printf("without memset: test[0]==NULL\n");\\不显示 free(test); TestMap **tm = (TestMap **)malloc(sizeo.
2020-09-13 13:06:52
220
原创 【Leetcode&C语言】347. Top K Frequent Elements
问题描述Given a non-empty array of integers, return thekmost frequent elements.非空的整型数组,返回K个出现次数最频繁的元素举例说明Example 1:Input: nums = [1,1,1,2,2,3], k = 2Output: [1,2]Example 2:Input: nums = [1], k = 1Output: [1]注意You may assumekis ...
2020-09-07 18:24:04
269
原创 【Leetcode&C语言】973. K Closest Points to Origin
目录问题描述举例说明限制实现谁能告诉我它的时间复杂度问题描述We have a list ofpointson the plane. Find theKclosest points to the origin(0, 0).(Here, the distance between two points on a plane is the Euclidean distance.)You may return the answer in any order....
2020-09-07 17:57:38
332
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人