CMake笔记
概述 CMake是个一个跨平台自动化建构系统,用来管理软件建置的程序,并不依赖于某特定编译器,并可支持多层目录、多个应用程序与多个函数库。 CMake 通过使用简单的配置文件CMakeLists.txt,自动生成不同平台的构建文件(如Makefile、Ninja构建文件、Visual Studio工程文件等),简化了项目的编译和构建过程。CMake…
LeetCode hot100@贪心
More content:力扣题记之贪心 121. 买卖股票的最佳时机✅ 简单贪心 也可DP class Solution { public: int maxProfit(vector<int>& prices) { int res = 0; int mny = 0; for(int i = 1; i < prices.s…
C++深层剖析
面向对象 多态的底层实现 多态的实现分为静态多态和动态多态: 静态多态(编译时多态):通过函数重载(overload)、模板(templates)和运算符重载来实现,它的调用在编译时就已经确定。 动态多态(运行时多态):通过继承、函数重写(override)和虚函数,依赖虚函数表(vtable)和虚函数表指针(vptr)实现动态绑定。 那么虚函数的…
卡码题记之图论
More content:LeetCode hot100@图论 大纲 深搜与广搜 并查集 最小生成树 Kruskal prim 拓扑排序 最短路算法 dijkstra(单源) Bellman_ford(单源&负权) Floyd(多源) 代码框架 dfs vector<vector<int>> result; // 保…
Linux命令速查(自用版)
alias命令 功能:给命令自定义别名 语法:alias name = value 例子:alias pg='ps aux | grep'(那么下次想查看进程名为abc的信息直接输入pg abc即可) cat命令 功能:查看文件内容 语法:cat 参数 参数:被查看的文件路径 cd命令 功能:切换工作目录 语法:cd [目标目录] 参数:目标目录,…
协程库
概述(待修改) 线程池里有若干线程,每个线程里有三类协程:主协程、调度协程和任务协程。 多线程通过互斥锁拿取任务后,利用线程的局部变量各自调用子协程去做任务,互不干扰和影响并发的去执行任务。 IO 协程调度器对 idle 空闲协程进行了重写,主协程只进行任务调度,idle 只监听 epoll 进行任务添加,降低了不同功能之间的耦合,便于后期扩展维护…
docker命令速查
启动与停止 docker pull ubuntu 拉取镜像,如果本地不存在则从仓库下载 docker run helloworld 用来创建一个新的容器并启动它(如果指定的镜像不存在,会自动拉取该镜像) docker start helloworld 用来启动已经存在且处于停止状态的容器 守护式启动:即后台启动 docker run -d --na…
笔试题记:24年腾讯音乐春招
208.小红的二叉树构造✅ 简单数学题:每一层的值是相同的,最小层值由节点最多的最后一行决定,即全被1填充,再乘以层数即可 #include<bits/stdc++.h> using namespace std; int main() { int n; cin >> n; cout << pow(2, n - 1) * n <…
力扣题记之贪心
More content:LeetCode hot100@贪心 55. 跳跃游戏❌ 一开始想的是跳向最大长度之间中下标最大的,发现不行 不要拘泥于跳到哪,而是能跳到哪,即关注能跳到的范围 贪心算法局部最优解:每次取最大跳跃步数(取最大覆盖范围) 整体最优解:最后得到整体最大覆盖范围,看是否能到终点 class Solution { public: …
笔试题记:23年网易秋招
link:模拟笔试 - 卡码网周赛第三十六期 175. 阴阳师✅ 简单模拟 注意向上取整技巧 #include<bits/stdc++.h> using namespace std; int main() { int n; cin >> n; int a, b; while(n--) { cin >> a >…