摘要: C++优先队列默认是最大堆,所以如果我们要用到最小堆,就需要进行重载来使用。priority_queue的头文件是.1.less和greater,不利用struct进行重载。priority_queue, less>s;//less表示按照递减(从大到小)的顺序插入元... 阅读全文
posted @ 2018-09-06 14:22 依然有清风 阅读(1821) 评论(0) 推荐(0) 编辑
摘要: 视频面,武汉今日头条后台开发岗,自身写C++的,招的是java岗,尴尬。问题:先做了一个题目,股票买卖最大利润的,leetcode原题。然后因为语言差别,所以就问数据结构,主要就问了map,hashmap,hash底层自己怎么实现,hash取模怎么实现的,怎么对has... 阅读全文
posted @ 2018-09-03 15:37 依然有清风 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 武汉金山,一共两面,两面都是问C++基础知识。一面:手写单例模式;struct和class的区别;如何删除vector的指定元素;四种智能指针;C++的封装继承和多态三种特性;多态如何实现的;一个类会默认生成的6个函数;冒泡排序;一个大文件,里面有很多种颜色,找出出现... 阅读全文
posted @ 2018-08-29 17:55 依然有清风 阅读(383) 评论(0) 推荐(0) 编辑
摘要: #include#includeusing namespace std;void adjustHeap(int arr[], int i, int n)//3.调整大顶堆(仅是调整过程,建立在大顶堆已构建的基础上){ int j = i * 2 + 1;//子节点 ... 阅读全文
posted @ 2018-08-20 15:35 依然有清风 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 前几天去腾讯面试,出的一道手写代码题目。假设有一个数组,[1,2,3,4,5],循环右移两位,变化为[4,5,1,2,3],当时写出来的代码是重新申请了一个数组,所以面试官又让我减少空间复杂度,代码如下:字符串翻转:void reverse(string &s,int... 阅读全文
posted @ 2018-08-07 16:19 依然有清风 阅读(442) 评论(0) 推荐(0) 编辑
摘要: #include#includeusing namespace std;string multi(string a, string b){ int len1 = a.size(); int len2 = b.size(); //int t[MAX]; int len ... 阅读全文
posted @ 2018-08-07 14:45 依然有清风 阅读(112) 评论(0) 推荐(0) 编辑
摘要: #include#includeusing namespace std;void adjustHeap(vector &arr, int i, int n)//3.调整大顶堆(仅是调整过程,建立在大顶堆已构建的基础上){ int j = i * 2 + 1;//子节点... 阅读全文
posted @ 2018-07-18 11:02 依然有清风 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。注意:可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。示例 1:输入: [ [1,2], [2,3], [3,4], [1,3] ]输出: ... 阅读全文
posted @ 2018-07-17 16:13 依然有清风 阅读(482) 评论(0) 推荐(0) 编辑
摘要: 大端法与小端法计算机存储数据都是从低地址到高地址,如0x100到0x103存储,而大端法和小端法的区别就是存储数据时是取数据的低位存放在高地址还是高位存放在高地址。大端法:数据低位存放高地址。小端法:数据高位存放高地址。举个例子,现有一个int a,地址为0x12 3... 阅读全文
posted @ 2018-05-27 22:45 依然有清风 阅读(497) 评论(0) 推荐(0) 编辑
摘要: 插入排序一般用直接插入法,时间复杂度:最好情况O(n),平均情况和最差情况复杂度为O(n^2)。基本方法是:序列分为有序列和无序列,然后每次从无序列取出一个元素,与有序列进行比较,插入进有序列,直至无序列为空。假设序列为[9,8,7,6,5,4,3,2,1]则产生有序... 阅读全文
posted @ 2018-05-09 20:19 依然有清风 阅读(495) 评论(0) 推荐(0) 编辑