微软的面试题,大家讨论一下

dstmt 2008-11-24 05:19:50
1. integer to english, e.g: 111 one hundred eleven.
2. copy a linked list with 2 pointers struct node {int val; node* next; node* other}; next points to next and other points to arbitrary node in the list or NULL. copy the list in linear time with constant extra spaces.
3. max substring
4. evaluate an arithmitic expression like 10+5-2

美国的朋友去微软面试是被提的问题,贴出来他的原话吧,期待高手解决一下,我顺便学习,都是写程序
...全文
694 41 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
41 条回复
切换为时间正序
请发表友善的回复…
发表回复
dns007 2010-02-05
  • 打赏
  • 举报
回复
mark too!
jxliu443119186 2008-11-27
  • 打赏
  • 举报
回复
学习加支持=发帖目的。呵呵
bbb332 2008-11-26
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 elmnd 的回复:]
1.(我也觉得做的不好,希望抛砖引玉)

C/C++ code#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i, num=111, flag=0;
char *p;
p=(char *)malloc(sizeof(int));
for(i=0; i<5 ; ++i)
{
p[i]=num%10;
if (num%10==0)
break;
else
{
num/=10;
++flag;
}
}
我的怎么没有运行出来???
for(i=flag-1; i>=0; --i)
printf("%d", p[i]);
printf("\n%s", p);
fre…
[/Quote]
060 2008-11-26
  • 打赏
  • 举报
回复
支持一下
Walker-cheng 2008-11-25
  • 打赏
  • 举报
回复
mark
Qevil 2008-11-25
  • 打赏
  • 举报
回复
英文不好 还是真不行啊 嗨
  • 打赏
  • 举报
回复
o(∩_∩)o...哈哈 挺好玩的
dzc8866 2008-11-25
  • 打赏
  • 举报
回复
听说MS基本员工要求不高的,就是要熟练基础知识,一些基础的东西要非常非常的熟练,另外对英语要求高
SenerityChzr 2008-11-25
  • 打赏
  • 举报
回复
up
hai040 2008-11-25
  • 打赏
  • 举报
回复
[Quote=引用 30 楼 redleaves 的回复:]
原理不难.当场就要把这些都写出来就比较费力了....
[/Quote]
up
redleaves 2008-11-25
  • 打赏
  • 举报
回复
1.数字转字符串.按英语的规则搞就可以了.
2.复制链表.不要搞错顺序,问题就不大.
3.最大子串.最简单的办法就是暴力查找...如果要效率,只要搞个队列,不停的入队,如果有重复,则开始出队,并分别记录查找过的子串的长度,直到不再有重复为止.然后再重复这个过程.最后就可以算出结果,如果不怕死脑细胞,可以把这个队列优化掉(其实也很简单,把它和原字串合并就可以了)
4.表达式求值.如果只是加减法,暴力求解最简单.复杂点的可以搞中缀转前缀,再求解.如果更复杂,最好先分词,再做语法树.再求解.
原理不难.当场就要把这些都写出来就比较费力了....想当年我出的笔试题让写个快排都比较BT了...
dstmt 2008-11-25
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 lann64 的回复:]
第4题是要做一个计算器吗?任意算术表达式?
[/Quote]
个人理解是给一个string,计算出结果
qinqinhao 2008-11-25
  • 打赏
  • 举报
回复
ding
  • 打赏
  • 举报
回复
进来学习,o(∩_∩)o...
nicholas101 2008-11-25
  • 打赏
  • 举报
回复
学习
Sevenlight_x 2008-11-25
  • 打赏
  • 举报
回复
学习
汗晕倒 2008-11-25
  • 打赏
  • 举报
回复
mark
dstmt 2008-11-25
  • 打赏
  • 举报
回复
[Quote=引用 30 楼 redleaves 的回复:]
1.数字转字符串.按英语的规则搞就可以了.
2.复制链表.不要搞错顺序,问题就不大.
3.最大子串.最简单的办法就是暴力查找...如果要效率,只要搞个队列,不停的入队,如果有重复,则开始出队,并分别记录查找过的子串的长度,直到不再有重复为止.然后再重复这个过程.最后就可以算出结果,如果不怕死脑细胞,可以把这个队列优化掉(其实也很简单,把它和原字串合并就可以了)
4.表达式求值.如果只是加减法,暴力求解最简单.复杂点的可以搞中缀转…
[/Quote]
分析的挺不错,贴点代码就更好了,o(∩_∩)o...
lann64 2008-11-24
  • 打赏
  • 举报
回复
第4题是要做一个计算器吗?任意算术表达式?
bbb332 2008-11-24
  • 打赏
  • 举报
回复
好好学习英语!!!
加载更多回复(21)

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧