摘要:
1.快速排序 O(nlog(n)) 不稳定排序 选取第一个数为哨兵 将比哨兵小的数都交换到前面,比哨兵大的数都交换到后面 返回哨兵位置,根据哨兵位置划分左右区间重复第二步,直到各区间只有一个数。 int partition(vector<int> &nums, int left, int right 阅读全文
摘要:
二分查找算法以及常见的边界细节问题 1. 基本的二分搜索 这个场景是最简单的,即二分搜索一个数,如果存在,返回其索引,否则返回 -1。 可以写出以下代码 int binarySearch(int[] nums, int target) { int left = 0; int right = nums 阅读全文
摘要:
main函数执行之前和之后都做了什么? 我们都知道程序的执行是从main函数开始的,main函数是用户定义的执行入口点,但是在main函数之前和main函数之后编译器都做了什么工作呢? 1.main函数执行之前 设置栈指针 初始化static静态变量和global全局变量,即.data段的内容 对. 阅读全文
摘要:
linux下gdb如何处理coredump错误 在编写C++程序中,我们经常会遇到一种错误,segment fault, 这种coredump错误 会导致程序运行时异常退出或者终止,这种错误没有明显错误提示信息,该如何定位错误呢? 在linux下,这种错误会生成的一个叫做core的文件,这个core 阅读全文
摘要:
1.网络模型的设计模式 1.1 B/S模式 B/S: Browser/Server,浏览器/服务器模式,在一端部署服务器,在另外外一端使用默认配置的浏览器即可完成数据的传输。 B/S结构是随着互联网的发展,web出现后兴起的一种网络结构模式。这种模式统一了客户端,让核心的业务处理在服务端完成。你只需 阅读全文
摘要:
#C++中的引用计数机制 引用计数是为了防止内存泄露而产生的。基本想法是对于动态分配的对象,进行引用计数,每当增加一次对同一个对象的引用,那么引用对象的引用计数就会增加一次,每删除一次引用,引用计数就会减一,当一个对象的引用计数减为零时,就自动删除指向的堆内存。 在C中,手动释放资源,不是最佳实践。 阅读全文
摘要:
三、异常 条款9:利用destructor避免泄露资源 把资源封装在对象内,通常可以在exception出现时避免资源泄露 条款10:在构造函数内阻止资源泄露 C++仅仅能删除被完全构造的对象(fully constructed objects),只有一个对象的构造函数完全运行完毕,这个对象才被完全 阅读全文

摘要:
文章目录 前言 一、环境配置 1.安装selenium 2.使用正确的谷歌浏览器驱动 二、使用步骤 1.加载chromedriver.exe 2.设置是否开启可视化界面 3.输入关键词、下载图片数、图片保存路径 三、爬取效果 四、完整代码 前言 作为一名CVer,数据集获取少不了用到数据、图片爬虫技 阅读全文
摘要:
一、基础议题 条款1:仔细区别pointers和references 指针使用*和->,引用使用“.”引用必须指向一个已初始化的对象,不能为null,而指针可以指向某个对象,也可以为null指针可以被重新赋值指向另一对象,而引用不可变更指向。 条款2:最好使用C++转型操作符 使用C++的转型操作符 阅读全文
摘要:
七、模板与泛型编程 41.了解隐式接口和编译器多态 1.类和模板都支持接口和多态。 2.类的接口是显式定义的——函数签名。多态是通过虚函数在运行期体现的。 3.模板的接口是隐式的(由模板函数的实现代码所决定其模板对象需要支持哪些接口),多态通过模板具现化和函数重载解析在编译期体现,也就是编译期就可以 阅读全文