数据结构
lly005
multi-media, 优化加速,视频编解码等
展开
-
两个栈实现队列
某搜索公司实习面试的时候有这么一道题,当时没答对,《剑指offer》一书里面也详细讲解了,自己再总结消化一遍题目:用两个栈实现一个队列栈和队列是数据结构的基本概念栈栈(stack)是指一种先入后出(first in last out)的数据结构,在现实中通俗的例子是一个只有上面有入口的货仓,先放进去的货物落在最底下,后放进去的货物在最表层,所以后放入的货物可以先取出,先放入的货物要等后放入的货物取完原创 2015-08-01 17:15:37 · 478 阅读 · 0 评论 -
最小的k个数
最小的k个数,某搜索公司的实习招聘中遇见这个题目,今天舍友讨论某电子商务公司校招也出了这个题目,说明是比较经典的数据结构问题,自己再回顾发现有点模糊,有必要再整理一遍。参考资料:《剑指offer》第五章,P167题目输入n个整数,找到最小的k个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4解法1:堆排序,复杂度为O(n*log(k))建一个大小为k的最大堆原创 2015-08-01 23:46:18 · 370 阅读 · 0 评论 -
某搜索公司面试 待续
某搜索公司电话面试某搜索公司商务搜索部,电话面试一个小时,在线写代码,你在这边写,人家远程看着linux指令没回答上,就搜了下,我跟他说我搜了下,找到了,然后面试官就有点毛了,说这种行为要影响面试表现什么的,问你什么问题不会就换下一个问题云云。。。搜完了不跟他说就是了。但是,linux指令这种东西用的时候搜一下不就完了,除了常用的谁会记这么多呢?一个文本文件每行五列,打印第三列数据awk一个文本文件原创 2015-08-18 11:05:31 · 904 阅读 · 0 评论 -
NYOJ139 我排第几个
15年秋季招聘,某搜索公司校招笔试编程题 题目描述: 现在有”abcdefghijkl”12个字符,将其所有的排列中按字典序排列,给出任意一种排列,说出这个排列在所有的排列中是第几小的?输入第一行有一个整数n(0 随后有n行,每行是一个排列;输出输出一个整数m,占一行,m表示排列是第几位;样例输入:3 abcdefghijkl hgebkflacdji gfkedhjblcia样例输出:1 30原创 2015-09-28 22:23:04 · 558 阅读 · 0 评论 -
链表排序 归并排序
面试遇到这个问题,算法思想比较清楚,但实现并没有那么简单,链表操作不是那么简单。算法基本思路是,将链表对半分成两个部分,关键是找中间节点,需要快指针和慢指针实现,递归合并排序前半段和后半段,前后半段都分别排好后,再合并,需要考虑链表合并操作。代码如下:// // main.c // list_mergsort // // Created by LiLingyu on 15/10/10. //原创 2015-10-10 23:31:48 · 396 阅读 · 0 评论 -
二叉树反转
二叉树反转,递归实现比较简单,只需要交换父母节点的左右子节点就行,递归反转左右子节点。homebrew作者面试google时解不出这道题而被拒,本文给出c实现的二叉树反转,包括前中后遍历,二叉树的创建等。反转代码如下:void inverseBtree(tnode* root) { if (NULL==root) { return; } tnode* tmp=r原创 2016-03-06 15:27:49 · 603 阅读 · 0 评论 -
不相邻的最大子数组和
不相邻的最大子数组和问题描述给一个数组,数组元素为不小于零,求和最大的子数组,其中每个元素在原数组中不相邻。解题思路刚拿到题目可能隐约觉得是个dp问题,求前i个元素的最大子数组和,但还是有点手足无措,关键是将问题分情况讨论:前i个元素的最大子数组包含第i个元素和不包含第i个元素。 包含第i个元素,则一定不能包含第i-1个元素,包含第i个元素的最大子数组为不包含第i-1个元素的最大子数组和加上第i个元原创 2016-05-10 22:02:04 · 1355 阅读 · 0 评论