c++
文章平均质量分 56
rannrann
这个作者很懒,什么都没留下…
展开
-
【c++&leetcode】35. Search Insert Position
由于给到的数组是从小到大的,可以使用二分搜索法,即以中间的元素为界,如果大于中间元素,范围限定在右半边,如果小于中间元素,范围限定在左半边。假设数组元素数为n,范围依次是。假设通过k次找到指定元素,时间复杂度为O(logn)时间复杂度O(logn)原创 2024-04-29 09:16:26 · 241 阅读 · 0 评论 -
【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 · 336 阅读 · 0 评论 -
【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 · 362 阅读 · 0 评论 -
【深入理解计算机系统第3版】有符号数和无符号数转换以及移位运算练习题2.23
考虑下面的C函数:假设一个采用补码运算的机器上以32位程序来执行这些函数。还假设有符号数值的右移是算术右移,而无符号数值的右移是逻辑右移。原创 2024-04-04 14:29:28 · 587 阅读 · 0 评论 -
【c++&leetcode】2265. Count Nodes Equal to Average of Subtree
这道题如果从上往下访问结点,只能计算和判断根节点的值是否是子树和的平均值。而从下往上访问结点,适用于所有的结点。原创 2023-12-10 18:08:13 · 472 阅读 · 1 评论 -
【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 · 98 阅读 · 0 评论 -
【Leetcode&C++】1071. Greatest Common Divisor of Strings
1071. Greatest Common Divisor of Strings原创 2023-02-06 00:27:16 · 340 阅读 · 0 评论 -
【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 · 209 阅读 · 0 评论 -
【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 · 2870 阅读 · 0 评论 -
【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 · 1571 阅读 · 0 评论