- 博客(29)
- 资源 (1)
- 收藏
- 关注
原创 Rule of Three
《C++ Primer》中称构造函数、赋值操作符重载、复制构造函数为Rule of Three,自己译为“三剑客”。意思是它们常常是一起出现的。为什么呢?目前遇到过的问题是——有非static动态分配的指针成员的时候需要用到析构函数,同时注意到后两者对于指针的默认复制方式是shallow copy,一般需要deep copy。至于其它情况还没遇到。
2016-04-21 03:28:40 840
原创 全局变量、静态全局变量、静态局部变量
概述这三种变量看起来好像很相似,不过还是有挺多区别的,它们的共同点就是其存储区都在全局区,可参考我的另外一片博客:C++全局变量(编译后)去哪儿。
2016-04-17 03:58:51 3146
原创 C++全局变量(编译后)去哪儿
今天看到《堆栈的区别》的时候,发现全局变量和静态变量(以下统称为全局变量)在一个叫做全局区的地方,然后还说了,已经初始化过的全局变量在.data段,而未初始化的全局变量在.bss段。不清楚这些段为何物。因为为初始化的全局变量按照C++的规定,会统一将其初始化为0,所以我觉得这样应该是为了赋值方便。不过,当我看到博客1(看Reference部分)的时候,发现原因不是这么简单
2016-04-15 19:55:10 1633
原创 二叉搜索树的后序遍历序列
题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。算法其实很简单,利用后序遍历的特性,根节点是在最后面的,那么我们找到了根节点之后,利用左子树的所有节点必定是小于它,右子树的所有节点必定是大于它的,可以将前面的数组分成两部分,两部分再递归操作就行了~
2016-04-14 13:23:50 778
原创 蛇形的二叉树层次遍历
蛇形的意思是:先从左到右,下一层从右到左,然后再从左到右……这是今天(04/13)遇到的一道很有趣的电话面试(白板编程)题目,我想到的思路很简单,把从右到左的那一层先存起来,最后逆序输出即可,不过写起来的话,还是需要基本功很扎实、逻辑清晰、思维敏捷的,我现场写的有很多bug,今晚自己整理了一下,攒一点rp
2016-04-14 01:09:55 2713
原创 平衡二叉树计算高度的同时判断是否平衡
今天一个朋友微软电话面试,问到一个问题,就是如题所述的,他问我他写的有没有错,挺难说的,然后我就随手写了一个版本(自我感觉良好)~
2016-04-13 23:59:36 1549
原创 腾讯后台研发实习岗二面
今天是总监面,“谈人生”,感觉自己实践的东西很少,被问到了挺尴尬的,不过面试官很nice,提了不少好的建议: 1)找一个喜欢的点专研,从一个点突破,后面想要横向扩展就很容易了,前提是你对一个领域理解得足够深入; 2)多看书,也要多做,多去关注这个领域(后台研发)的最新发展; 3)机器学习的话,如果自己没有数据,可以“造数据”,自己造一个规律,按照规律生成数据,看算法能不能找出来。
2016-04-12 10:43:26 2163
原创 从二叉树的前序遍历序列和中序遍历序列重构出二叉树
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。
2016-04-11 11:59:14 1652
原创 字典树再战
昨天校赛,遇到了一道字典树的题目,卡了挺久,原因不是不会写,而是被vector指针初始化坑了(现在改用数组了,哼)。感觉得好好总结一下字典树,下面先po这个问题,然后写个字典树模板,最后将模板修改成能够解决这个问题。
2016-04-11 11:06:44 636
原创 栈的压入、弹出序列
题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。
2016-04-09 23:14:08 480
原创 链表合并
题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。题目链接:牛客网模拟归并排序的合并的过程~ 可以用迭代,也可以用递归,递归的写法十分整洁易读!!!
2016-04-09 13:34:00 433
原创 稳定的奇偶数字排序
题目描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
2016-04-09 11:58:00 917
原创 最大连续子数组和
问题描述:给定一个整数数组,元素的值有正有负。定义“连续子数组和”为连续几个数组的元素的和,求最大的连续子数组和。已知这个值在int能够表示的范围内。本文给出了两种比较容易理解的解法。
2016-04-06 00:42:52 415
原创 HTTP常见状态码
HTTP(Hypertext Transfer Protocol,超文本传输协议)是一种处于应用层的协议,广泛用于web交换数据。 HTTP常见的状态码,即使不做web开发的人,了解一下,在平时看到浏览器里看到显示403,404,500神马的,也能知道是怎么回事~
2016-04-05 20:17:11 541
原创 C++多态机制浅析
最近突然想弄懂C++的多态机制到底是怎么实现的,找了挺多资料,发现大多数博客有一点没讲好——多继承的时候,是怎么让每个父类的指针恰好指向它所在的虚函数表的。不过这一点[1]里面有分析了,所以综合起来,打算整理一下,分享给米娜桑(有错误的麻烦指出o,蟹蟹~)
2016-04-02 14:10:55 610
转载 【转】极好的讲解union的博文
我自己的话——其实大一泡馆时就有在旧旧的语法书里看到有union这个东西,当时觉得,这东西是C语言里的,C++里有struct就够了吧,然后又看到了union的介绍,什么共享内存啊,(没有应用场景)就不想看了。最近越来越多的地方看到union,决定好好了解下,确实很有趣!!!由于原文年份已久,排版有点不好看,而且例子代码有个小错误,现整理成此文。
2016-04-01 21:37:02 1149
原创 无头指针单链表删除元素
问题描述:给定一个单链表的一个结点的指针Q,且该结点不是最后一个结点,请在O(1)时间内删除该节点。这个问题其实很有趣的,一开始摸不着头脑,然后想到了一个“李代桃僵”的方法,最后结合成为一个绝妙的步骤!!!
2016-04-01 19:25:07 1331
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人