微软数据结构与算法100题1
来源:互联网 发布:如何欣赏交响乐 知乎 编辑:程序博客网 时间:2024/04/29 15:42
快速求斐波那契数列第N项
一个单链表的类,实现链表的反转 和链表的合并
写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)
功能:在字符串中找出连续最长的数字串,并把这个串的长度返回,并把这个最长数字串付给其中一个函数参数outputstr 所指内存。
例如:"abcd12345ed125ss123456789"的首地址传给intputstr 后,函数将返回9,outputstr 所指的值为123456789
58.从尾到头输出链表。
题目:输入一个链表的头结点,从尾到头反过来输出每个结点的值。链表结点定义如下:
struct ListNode
{
int m_nKey;
ListNode* m_pNext;
};
分析:这是一道很有意思的面试题。
该题以及它的变体经常出现在各大公司的面试、笔试题中。
不能被继承的类。
题目:用C++设计一个不能被继承的类。
分析:这是Adobe公司2007年校园招聘的最新笔试题。
这道题除了考察应聘者的C++基本功底外,还能考察反应能力,是一道很好的题目。
在O(1)时间内删除链表结点。
题目:给定链表的头指针和一个结点指针,在O(1)时间删除该结点。链表结点的定义如下:
struct ListNode
{
int m_nKey;
ListNode* m_pNext;
};
函数的声明如下:
void DeleteNode(ListNode* pListHead, ListNode* pToBeDeleted);
http://blog.csdn.net/xianliti/archive/2010/06/11/5665179.aspx
54.调整数组顺序使奇数位于偶数前面。
题目:输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,
所有偶数位于数组的后半部分。要求时间复杂度为O(n)。
52.二元树的深度。
题目:输入一棵二元树的根结点,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。
例如:输入二元树:
10
/ /
6 14
/ / /
4 12 16
输出该树的深度3。
二元树的结点定义如下:
struct SBinaryTreeNode // a node of the binary tree
{
int m_nValue; // value of node
SBinaryTreeNode *m_pLeft; // left child of node
SBinaryTreeNode *m_pRight; // right child of node
};
分析:这道题本质上还是考查二元树的遍历。
51.和为n连续正数序列。
题目:输入一个正数n,输出所有和为n连续正数序列。
例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5、4-6和7-8。
分析:这是网易的一道面试题。
47.创新工场:
求一个数组的最长递减子序列 比如{9,4,3,2,5,4,3,2}的最长递减子序列为{9,5,4,3,2}
42.请修改append函数,利用这个函数实现:
两个非降序链表的并集,1->2->3 和 2->3->5 并为 1->2->3->5
另外只能输出结果,不能修改两个链表的数据。
- 微软数据结构与算法100题1
- 微软等数据结构与算法面试100题 第一题
- 微软等数据结构与算法面试100题 第二题
- 微软等数据结构与算法面试100题 第三题
- 微软等数据结构与算法面试100题 第四题
- 微软等数据结构与算法面试100题 第五题
- 微软等数据结构与算法面试100题 第六题
- 微软等数据结构与算法面试100题 第七题
- 微软等数据结构与算法面试100题 第九题
- 微软等数据结构与算法面试100题第十题
- 微软等数据结构与算法面试100题第十一题
- 微软等数据结构与算法面试100题 第十二题
- 微软等数据结构与算法面试100题 第十三题
- 微软等数据结构与算法面试100题 第十四题
- 微软等数据结构与算法面试100题第十五题
- 微软等数据结构与算法面试100题第十六题
- 微软等数据结构与算法面试100题第十七题
- 微软等数据结构与算法面试100题 第十八题
- 菜鸟
- PHP socket .....实例
- Flex连接线
- IVTC/Deinterlace的来龙去脉
- ubuntu 10.10 application system panel 丢失
- 微软数据结构与算法100题1
- Windows Phone 7 开发 31 日谈——第23日:提供试用版应用程序
- 2.1 Hamming
- PostgreSQL Cluster
- Sql 分隔字符创函数
- [转]导出数据到Excel的几种方法
- c++群
- 【MFC小练习】弹窗节奏播放器(程序 + 源码)
- python调用C和C++代码