没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
1
精选微软等公司数据结构
精选微软等公司数据结构
精选微软等公司数据结构
精选微软等公司数据结构 +
+
+
+ 算法面试
算法面试
算法面试
算法面试 100
100
100
100 题
题
题
题
----
----
----
---- 答案
答案
答案
答案 (
(
(
( 第
第
第
第 21-40 题
题
题
题 )
)
)
) V0.3 版
版
版
版
作者前言:
作者前言:
作者前言:
作者前言:
1. 首先恭喜你,你确实得到了一份不错的资源。
送给你一句话,饮水当思源。
2. 本来可以把这份第 21-40 的答案弄成 word 形式的,
那样的话,大家可以直接复制黏贴其中的源码,直接上机验证。
// 虽然其中大部分源码,我已经编译调试了,能保证基本的精准。
3. 但我 实在 实在无法忍受大量大量的人,随意 任意 转载,
却 不注明作者本人我 和出处,有的甚至私自据为己有。 所以 .. 见谅。
还是这句话,展示自己的思考结果,是一种骄傲。
其它 资源,下载地址:
[ 第 1 题 -60 题汇总 ] 微软等数据结构 + 算法面试 100 题
http://download.csdn.net/source/2826690
[ 答案 V0.2 版 ] 精选微软数据结构 + 算法面试 100 题 [ 前 20 题 ] // 修正
http://download.csdn.net/source/2813890
// 此份答案是针对最初的 V0.1 版本,进行的校正与修正。
[ 答案 V0.1 版 ] 精选微软数据结构 + 算法面试 100 题 [ 前 25 题 ]
http://download.csdn.net/source/2796735
[ 第二部分 ] 精选微软等公司结构 + 算法面试 100 题 [ 前 41-60 题 ] :
http://download.csdn.net/source/2811703
[ 第一部分 ] 精选微软等公司数据结构 + 算法经典面试 100 题 [1-40 题 ]
http://download.csdn.net/source/2778852
更多资源,下载地址:
http://v_july_v.download.csdn.net/
若你对以下答案,有任何问题,欢迎联系我:
My E-mail
:
z houlei0907@yahoo.cn
或者,直接回复于此帖上:
[ 推荐 ] [ 整理 ] 算法面试:精选微软经典的算法面试 100 题 [ 前 40 -60 题 ]
http://topic.csdn.net/u/20101023/20/5652ccd7-d510-4c10-9671-307a56006e6d.html
July 、 2010 年 11 月 14 日,晚,于东华理工。
2
第 21
21
21
21 题
2010 年中兴面试题
编程求解:
输入两个整数 n 和 m ,从数列 1 , 2 , 3.......n 中 随意取几个数 ,
使其和等于 m , 要求将其中所有的可能组合列出来 .
// 此题与第 14 题差不多,再次不做过多解释。
//July 、 2010/10/22 。
#include <iostream>
#include <list>
using namespace std;
void qiujie(int sum,
int
n)
{
static list<int> ilist;
if(n < 1 || sum < 1)
return;
if(sum > n)
{
ilist.push_front(n);
qiujie(sum-n, n-1);
ilist.pop_front();
qiujie(sum, n-1);
}
else
{
cout<<sum;
for(list<int>::iterator
it
= ilist.begin();
it
!= ilist.end(); ++it)
cout <<
" "
<< *it;
cout << endl;
}
}
int
main()
{
int
m, n;
cout<<" 请输入你要等于多少的数值 m:"<<endl;
cin>>m;
cout<<" 请输入你要从 1.....n 数列中取值的 n : "<<endl;
cin>>n;
qiujie(m,n);
return 0;
}
3
///////////////////////////////////////////
请输入你要等于多少的数值
m:
10
请输入你要从 1.....n 数列中取值的 n :
8
2 8
3 7
4 6
1 4 5
2 3 5
1 2 3 4
Press any key to continue
///////////////////////////////////////
第 22
22
22
22 题:
有 4 张红色的牌和 4 张蓝色的牌,主持人先拿任意两张,
再分别在 A 、
B
、 C 三人额头上贴任意两张牌,
A 、 B 、 C 三人都可以看见其余两人额头上的牌,
看完后让他们猜自己额头上是什么颜色的牌,
A 说不知道, B 说不知道, C 说不知道,然后 A 说知道了。
请教如何推理, A 是怎么知道的。如果用程序,又怎么实现呢?
//July 、 2010/10/22
// 今是老妈生日,祝福老妈,生日快乐。 !:).
4 张 r 4 张 b
有以下 3 种组合:
rr bb rb
1.B , C 全是一种颜色
B C
A
bb.rr bb.rr
2.
B C
A
bb rr bb/RR/BR,=>A:BR
rr bb =>A:BR
4
3.
B C
A
BR BB RR/BR, =>A:BR
// 推出 A:BR 的原因,
// 如果 A 是 RR ,
// 那么,当 ABC 都说不知道后,
B
最后应该知道自己是 BR 了。
// 因为 B 不可能 是 RR 或 BB 。
4.
B C
A
BR BR BB/RR/BR
// 推出 A:BR 的原因
// 如果, A 是 BB ,那么 B=>BR/RR ,
// 如果 B=>RR, 那么一开始, C 就该知道自己是 BR 了。
// 如果 B=>BR,
// 最后,也还是推出 =>A:BR
// 至于程序,暂等高人。
第 23
23
23
23 题:
用最简单, 最快速的方法计算出下面这个圆形是否和正方形相交。
"
3D 坐标系 原点 (0.0,0.0,0.0)
圆形
:
半径 r = 3.0
圆心 o = (*.*, 0.0, *.*)
正方形
:
4 个角坐标 ;
1:(*.*, 0.0, *.*)
2:(*.*, 0.0, *.*)
3:(*.*, 0.0, *.*)
4:(*.*, 0.0, *.*)
*/
参考:
http://www.cssdn.net/thread-10486-1-2.html
5
第 24
24
24
24 题:
1. 反转链表
2. 合并链表。
pPrev<-pNode<-pNext
ListNode* ReverseIteratively(ListNode* pHead)
{
ListNode* pReversedHead = NULL;
ListNode* pNode = pHead;
ListNode* pPrev = NULL;
while(pNode != NULL) //pNode<=>m
{
ListNode* pNext = pNode->m_pNext; //n 保存在 pNext 下
// 如果 pNext 指为空,则当前结点 pNode 设为头。
if(pNext == NULL)
pReversedHead = pNode;
// reverse the linkage between nodes
pNode->m_pNext = pPrev;
// move forward on the the list
pPrev = pNode;
pNode = pNext;
}
return pReversedHead;
}
或者,这样写:
head->next -> p-> q
template<class T>
Node<T>* Reverse(Node<T>* head)
{
p=head->next;
while(p)
{
q=p->next; //p->next 先保存在 q 下
p->next=head->next; //p 掉头指向 head->next
head->next=p; //p 赋给 head->next
p=q; //q 赋给 p 。
// 上俩行即,指针前移嘛 ...
}
return head;
剩余43页未读,继续阅读
资源评论
Zach_ZhouY
- 粉丝: 179
- 资源: 68
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功