笔试面试
文章平均质量分 52
Jacketinsysu
No persistence, no man.
展开
-
Leetcode上的各种“Reverse”
A. 单链表整体的逆转题目链接:https://leetcode.com/problems/reverse-linked-list/其实做法挺简单的,就是将每个节点的next指针指向原来链表中的上一个就好了,注意对NULL的处理。class Solution {public: ListNode* reverseList(ListNode* head) { ListNode原创 2016-03-03 23:10:51 · 907 阅读 · 0 评论 -
全局变量、静态全局变量、静态局部变量
概述这三种变量看起来好像很相似,不过还是有挺多区别的,它们的共同点就是其存储区都在全局区,可参考我的另外一片博客:C++全局变量(编译后)去哪儿。原创 2016-04-17 03:58:51 · 3153 阅读 · 0 评论 -
链表合并
题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。题目链接:牛客网模拟归并排序的合并的过程~ 可以用迭代,也可以用递归,递归的写法十分整洁易读!!!原创 2016-04-09 13:34:00 · 436 阅读 · 0 评论 -
大整数类-实现加减法
上次写了一个“无符号大整数加法”,是比较容易的,这次实现了完整的大整数的加减法,支持有符号的!不过实现起来感觉不是很顺畅,感觉可以优化的地方还很多,先贴一下代码,日后再来优化。另,思路主要是模拟手算的过程,计算方式在注释里有说清楚。原创 2016-08-03 20:08:12 · 2081 阅读 · 0 评论 -
《剑指offer》43:n个骰子的点数
这道题其实也不难,递归的想法很简单,之所以写这篇博客,是因为我觉得书中的递归代码写得有点混乱(并没有贬低作者的意思),所以贴一下我自己认为比较好的写法原创 2016-08-22 13:52:16 · 749 阅读 · 0 评论 -
《剑指offer》44:扑克牌里的顺子
问题给定一个5个元素的数组(范围0-13,对应扑克牌的),其中0可以代表任何数字,求这5个数字能否组成一个顺子(即连续的5个数字,如2,0,4,5,0可以表示2,3,4,5,6)原创 2016-08-22 15:43:58 · 488 阅读 · 0 评论 -
《剑指offer》45:约瑟夫问题
约瑟夫问题这个问题太经典了,就是n个人围成一圈,编号依次为0,1,…,n-1,每m个人取一个人退出游戏,求最终剩下的人的编号是多少?思路1:模拟自己随便手写个循环链表来模拟(不过写得太丑啦)思路2:用数学推导规律原创 2016-08-22 16:08:36 · 495 阅读 · 0 评论 -
蛇形填数
顺时针将数字1,2,3,4,…,填入到给定大小的矩阵中原创 2016-04-09 20:12:55 · 606 阅读 · 0 评论 -
leetcode: String to Integer (atoi)
String to Integer (atoi),这道题放在leetcode上,多了一些需求,要求处理非法字符,其实是经典的字符串提取操作。原创 2016-08-23 17:38:51 · 613 阅读 · 0 评论 -
leetcode: Combination Sum III
题意:给定数字的个数k和总和n,要求从[1-9]中选取k个各不相同的数字组合,其总和刚好等于n,返回所有组合情况思路无脑DFS,即使遍历所有情况,也就是O(n^k)。原创 2016-08-23 23:18:24 · 645 阅读 · 0 评论 -
Leetcode: Find Minimum in Rotated Sorted Array
题意:定义翻转有序数组:一个升序数组,从中间某个元素切开,把左右两部分互换位置。 比如[1, 2, 3, 4, 5, 6, 7]从3处切开……原创 2016-08-24 11:46:58 · 540 阅读 · 0 评论 -
Leetcode:Find Minimum in Rotated Sorted Array II
Leetcode:Find Minimum in Rotated Sorted Array II,第二版本只是多了一个限制:数组里可以有重复的元素原创 2016-08-24 12:11:33 · 479 阅读 · 0 评论 -
Leetcode: Gray Code
题意:使用镜像法构建格雷码序列。原创 2016-08-24 15:43:47 · 560 阅读 · 0 评论 -
《剑指offer》4:替换空格
题意:给定一个字符串,将其中的所有空格都替换成”%20”三个字符,比如“I am happy.”将会变成”I%20am%20happy.”,假设给定的指针所指向的内存是够用的,然后O(1)空间和O(n)时间。原创 2016-08-24 19:19:38 · 598 阅读 · 0 评论 -
《剑指offer》合并两个有序的数组
题意:给定两个升序的数组,v1有足够的空间可以容易v1和v2的所有元素。要求将v1和v2的元素合并成一个升序的数组,并且时间复杂度为O(n+m),而空间复杂度为O(1)。原创 2016-08-24 19:37:17 · 1797 阅读 · 1 评论 -
在单链表上实现插入排序
问题:给单链表排序(升序排列,要保持稳定性),要求通过改变结点的next指针从而改变结点的位置,而不是只交换结点的值来使得其有序!时间复杂度为O(N^2),空间复杂度为O(1)。原创 2016-09-17 20:10:29 · 10032 阅读 · 2 评论 -
打印所有和为s的连续正整数序列(至少含两个数)
今天看了《剑指offer》里的这道题,发现如果利用好等差数列的性质,其实可以有更好的解法!题意比如,s=15,那么应该输出以下三个序列: 7 + 8 = 15 4 + 5 + 6 = 15 1 + 2 + 3 + 4 + 5 = 15剑指offer的解法从1开始,枚举序列的第一个数字,然后顺序递增,直到找到或超过了s。 比如s=9,那么搜索过程是: start=1, end=2原创 2016-08-15 14:29:58 · 615 阅读 · 0 评论 -
二叉搜索树的后序遍历序列
题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。算法其实很简单,利用后序遍历的特性,根节点是在最后面的,那么我们找到了根节点之后,利用左子树的所有节点必定是小于它,右子树的所有节点必定是大于它的,可以将前面的数组分成两部分,两部分再递归操作就行了~原创 2016-04-14 13:23:50 · 781 阅读 · 0 评论 -
从二叉树的前序遍历序列和中序遍历序列重构出二叉树
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。原创 2016-04-11 11:59:14 · 1654 阅读 · 0 评论 -
字典树再战
昨天校赛,遇到了一道字典树的题目,卡了挺久,原因不是不会写,而是被vector指针初始化坑了(现在改用数组了,哼)。感觉得好好总结一下字典树,下面先po这个问题,然后写个字典树模板,最后将模板修改成能够解决这个问题。原创 2016-04-11 11:06:44 · 639 阅读 · 0 评论 -
【转】极好的讲解union的博文
我自己的话——其实大一泡馆时就有在旧旧的语法书里看到有union这个东西,当时觉得,这东西是C语言里的,C++里有struct就够了吧,然后又看到了union的介绍,什么共享内存啊,(没有应用场景)就不想看了。最近越来越多的地方看到union,决定好好了解下,确实很有趣!!!由于原文年份已久,排版有点不好看,而且例子代码有个小错误,现整理成此文。转载 2016-04-01 21:37:02 · 1150 阅读 · 0 评论 -
C++多态机制浅析
最近突然想弄懂C++的多态机制到底是怎么实现的,找了挺多资料,发现大多数博客有一点没讲好——多继承的时候,是怎么让每个父类的指针恰好指向它所在的虚函数表的。不过这一点[1]里面有分析了,所以综合起来,打算整理一下,分享给米娜桑(有错误的麻烦指出o,蟹蟹~)原创 2016-04-02 14:10:55 · 614 阅读 · 0 评论 -
C++结构体占用内存大小浅析
以下是结合之前计算机组成原理的知识,实践总结的两条规律原创 2016-04-02 16:54:12 · 1812 阅读 · 0 评论 -
【编程之法】A.1 语言基础
July的《编程之法》的附录题目原创 2016-04-04 22:46:08 · 528 阅读 · 0 评论 -
腾讯后台研发实习岗二面
今天是总监面,“谈人生”,感觉自己实践的东西很少,被问到了挺尴尬的,不过面试官很nice,提了不少好的建议: 1)找一个喜欢的点专研,从一个点突破,后面想要横向扩展就很容易了,前提是你对一个领域理解得足够深入; 2)多看书,也要多做,多去关注这个领域(后台研发)的最新发展; 3)机器学习的话,如果自己没有数据,可以“造数据”,自己造一个规律,按照规律生成数据,看算法能不能找出来。原创 2016-04-12 10:43:26 · 2165 阅读 · 0 评论 -
稳定的奇偶数字排序
题目描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。原创 2016-04-09 11:58:00 · 921 阅读 · 0 评论 -
链表倒数第k个节点
题目描述 输入一个链表,输出该链表中倒数第k个结点原创 2016-04-09 12:19:19 · 482 阅读 · 0 评论 -
反转链表
题目描述 输入一个链表,反转链表后,输出链表的所有元素。原创 2016-04-09 12:23:53 · 379 阅读 · 0 评论 -
树的子结构
问题描述 输入两颗二叉树A,B,判断B是不是A的子结构原创 2016-04-09 19:26:01 · 376 阅读 · 0 评论 -
最小栈
问题描述要求实现一个最小栈,除了经典的栈的各种功能外,要求能够在常数时间内获取当前栈里所有元素中的最小值。原创 2016-04-09 20:19:10 · 1301 阅读 · 0 评论 -
栈的压入、弹出序列
题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。原创 2016-04-09 23:14:08 · 483 阅读 · 0 评论 -
二叉树的层次遍历
二叉树的层次遍历原创 2016-04-09 23:38:11 · 560 阅读 · 0 评论 -
最近遇到的几个问题
os相关问题原创 2016-04-10 00:05:10 · 464 阅读 · 0 评论 -
C/C++笔试常问的坑
C/C++基础语言知识查漏补缺转载 2016-03-24 15:14:39 · 751 阅读 · 0 评论 -
平衡二叉树计算高度的同时判断是否平衡
今天一个朋友微软电话面试,问到一个问题,就是如题所述的,他问我他写的有没有错,挺难说的,然后我就随手写了一个版本(自我感觉良好)~原创 2016-04-13 23:59:36 · 1551 阅读 · 0 评论 -
蛇形的二叉树层次遍历
蛇形的意思是:先从左到右,下一层从右到左,然后再从左到右……这是今天(04/13)遇到的一道很有趣的电话面试(白板编程)题目,我想到的思路很简单,把从右到左的那一层先存起来,最后逆序输出即可,不过写起来的话,还是需要基本功很扎实、逻辑清晰、思维敏捷的,我现场写的有很多bug,今晚自己整理了一下,攒一点rp原创 2016-04-14 01:09:55 · 2722 阅读 · 0 评论 -
合法的ipv4地址:对比大师级代码
如题,ipv4地址的“点分十进制”的格式是:1.2.3.4,十进制的数字必须在[0, 255]之间。先po我自己的代码,再对比大师们的代码。原创 2016-08-31 17:55:32 · 4024 阅读 · 0 评论