多态和虚函数

多态:多态性是允许你将父对象设置成为一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。 同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向基类...

2018-09-18 15:20:16

阅读数 48

评论数 0

C++优先队列的重载(最小堆、最大堆)

C++优先队列默认是最大堆,所以如果我们要用到最小堆,就需要进行重载来使用。 priority_queue的头文件是<queue>. 1.less和greater,不利用struct进行重载。 priority_queue<...

2018-09-06 14:21:55

阅读数 624

评论数 0

今日头条一面凉经

视频面,武汉今日头条后台开发岗,自身写C++的,招的是java岗,尴尬。 问题:先做了一个题目,股票买卖最大利润的,leetcode原题。 然后因为语言差别,所以就问数据结构,主要就问了map,hashmap,hash底层自己怎么实现,hash取模怎么实现的,怎么对hashmap进行查找,st...

2018-09-03 15:36:53

阅读数 584

评论数 0

金山WPS--C++面经

武汉金山,一共两面,两面都是问C++基础知识。 一面:手写单例模式;struct和class的区别;如何删除vector的指定元素;四种智能指针;C++的封装继承和多态三种特性;多态如何实现的;一个类会默认生成的6个函数;冒泡排序;一个大文件,里面有很多种颜色,找出出现最多的10种颜色;vect...

2018-08-29 17:54:54

阅读数 254

评论数 0

top-k,数组最小(大)的k个数

#include<iostream> #include<vector> using namespace std; void adjustHeap(int arr[], int i, int n)//3.调整...

2018-08-20 15:35:09

阅读数 37

评论数 0

字符串(数组)循环移位

前几天去腾讯面试,出的一道手写代码题目。 假设有一个数组,[1,2,3,4,5],循环右移两位,变化为[4,5,1,2,3],当时写出来的代码是重新申请了一个数组,所以面试官又让我减少空间复杂度,代码如下: 字符串翻转: void reverse(string &s...

2018-08-07 16:19:12

阅读数 167

评论数 0

大数相乘

#include<iostream> #include<string> using namespace std; string multi(string a, string b) { int len1 = ...

2018-08-07 14:44:37

阅读数 31

评论数 0

排序算法--堆排序(C++)

#include<iostream> #include<vector> using namespace std; void adjustHeap(vector<int&g...

2018-07-18 11:02:07

阅读数 52

评论数 0

贪心--无重叠区间--C++

给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。 示例 1: 输入: [ [1,2], [2,3], [3,4], [1,3] ] 输出: 1 解...

2018-07-17 16:13:24

阅读数 375

评论数 0

大端法,小端法,union

大端法与小端法计算机存储数据都是从低地址到高地址,如0x100到0x103存储,而大端法和小端法的区别就是存储数据时是取数据的低位存放在高地址还是高位存放在高地址。大端法:数据低位存放高地址。小端法:数据高位存放高地址。举个例子,现有一个int a,地址为0x12 34 56 78,从左向右是高位...

2018-05-27 22:44:39

阅读数 50

评论数 0

排序算法--插入排序(C++)

插入排序一般用直接插入法,时间复杂度:最好情况O(n),平均情况和最差情况复杂度为O(n^2)。基本方法是:序列分为有序列和无序列,然后每次从无序列取出一个元素,与有序列进行比较,插入进有序列,直至无序列为空。假设序列为[9,8,7,6,5,4,3,2,1]则产生有序列[9],无序列为[8,7,6...

2018-05-09 20:19:00

阅读数 40

评论数 0

排序算法-归并排序(C++、链表)

归并排序采用分而治之的方法,把n个元素按照非递减顺序排列。常用结构是:若n为1,则算法终止;否则,将序列划分为k个子序列(int k>=2)。先对每一个子序列进行排序,然后将有序子序列归并为一个序列。归并排序的时间复杂度是Ω(nlogn),平均复杂度和最坏复杂度均为Ω(nlo...

2018-05-05 21:24:32

阅读数 131

评论数 0

排序算法--快速排序(C++)

  快速排序是冒泡排序的一种改进,属于交换排序,通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。    C++中可以直接调用函数qsort()对数...

2018-03-30 20:47:08

阅读数 73

评论数 0

阿里C/C++一面(2)

在上次阿里二面跪了之后,阿里又打了一次电话给我换了个部门重新一面,哭,感觉一面还是不错的:上来先问项目,介绍自己的三个项目,分别说了流程,做法,中间问了我以后想做什么,还是和上次一样想确定我的方向,我坚定的说想做工程,做C++,这次没犯错。后面开始问基础部分了,这次比上次一面难多了,问问题一个接一...

2018-03-30 13:39:02

阅读数 324

评论数 0

数据流中的中位数:堆排序

题目:如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。如果数据在容器中已经排序,那么中位数可以由P1和P2指向的数得到,如果容器中数据的数目是奇数,那么P1和P...

2018-03-29 20:53:37

阅读数 170

评论数 0

STL--heap

heap即堆,头文件为#include<algorithm>,包括max-heap和min-heap,其中,max-heap在缺省的情况下是C++底层优先情况。本质是一颗以vector来实现的完全二叉树。最大堆的父节点大于等于任意子节点,最小堆小于任意子...

2018-03-29 20:46:42

阅读数 33

评论数 0

阿里C++研发电话面试总结

一共进行了两面,二面有点心痛。一面:上来英语自我介绍,然后问了一下项目,接着开始问C++的基础,像多态;函数重载和重写;C语言能不能重载;栈变量,全局变量,静态变量的区别,内存中的位置;虚拟地址、逻辑地址定义和区别;然后问进程与线程的区别,三次握手四次挥手,中间问了select和epoll,没有回...

2018-03-29 17:11:12

阅读数 2041

评论数 1

如何退出while(cin>>a)

1.输入非该类型的字符2.判断输入是否为\n;while (cin >> str) { t.push_back(str); i++; if (cin.get() == '\n') ...

2018-03-28 19:44:00

阅读数 883

评论数 0

凸优化学习

”凸优化“ 是指一种比较特殊的优化,是指求取最小值的目标函数为凸函数的一类优化问题。凸优化就是:1、在最小化(最大化)的要求下,2、目标函数是一个凸函数(凹函数),3、同时约束条件所形成的可行域集合是一个凸集。其中,目标函数为凸函数且定义域为凸集的优化问题称为无约束凸优化问题。而目标函数和不等式约...

2018-03-28 16:10:30

阅读数 181

评论数 0

网易深度学习视觉笔试总结

总共18个选择题,1个编程题,6个简答题重点是选择题和简答题。选择题主要考了一些基础,二叉树,散表链接,SVM的理论知识,哈夫曼树,边缘检测算子。简答题重点是FRCNN。总结:对SVM理论不熟,边缘检测算子不熟,FRCNN不熟,需要做一些总结和学习。...

2018-03-27 23:32:12

阅读数 998

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭