2014美团网校园招聘笔试题目及答案-研发工程师-长沙站文字版

上传人:东****0 文档编号:157986095 上传时间:2020-12-29 格式:PDF 页数:11 大小:148.99KB
返回 下载 相关 举报
2014美团网校园招聘笔试题目及答案-研发工程师-长沙站文字版_第1页
第1页 / 共11页
2014美团网校园招聘笔试题目及答案-研发工程师-长沙站文字版_第2页
第2页 / 共11页
2014美团网校园招聘笔试题目及答案-研发工程师-长沙站文字版_第3页
第3页 / 共11页
2014美团网校园招聘笔试题目及答案-研发工程师-长沙站文字版_第4页
第4页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《2014美团网校园招聘笔试题目及答案-研发工程师-长沙站文字版》由会员分享,可在线阅读,更多相关《2014美团网校园招聘笔试题目及答案-研发工程师-长沙站文字版(11页珍藏版)》请在金锄头文库上搜索。

1、读万卷书 行万里路 1 2014 美团网笔试题目 1、一堆硬币,一个机器人,如果是反的就翻正,如果是正的就抛掷一次,无穷多次后,求 正反的比例 解答:是不是题目不完整啊,我算的是 3:1 2、一个汽车公司的产品,甲厂占 40%,乙厂占 60%,甲的次品率是 1%,乙的次品率是 2%,现在抽出一件汽车时次品,问是甲生产的可能性 解答:典型的贝叶斯公式,p(甲|废品) = p(甲 int data; node; void createList(node *head, int data) node *pre, *cur, *new; pre = NULL; cur = *head; while (c

2、ur != NULL) pre = cur; cur = cur-next; new = (node *)malloc(sizeof(node); new-data = data; new-next = cur; if (pre = NULL) *head = new; else 读万卷书 行万里路 3 pre-next = new; void printLink(node *head) while (head-next != NULL) printf(%d , head-data); head = head-next; printf(%dn, head-data); int linkLen(

3、node *head) int len = 0; while (head != NULL) len +; head = head-next; return len; node* reverseK(node *head, int k) 读万卷书 行万里路 4 int i, len, time, now; len = linkLen(head); if (len k) return head; else time = len / k; node *newhead, *prev, *next, *old, *tail; for (now = 0, tail = NULL; now time; now

4、 +) old = head; for (i = 0, prev = NULL; i next; head-next = prev; prev = head; head = next; if (now = 0) newhead = prev; 读万卷书 行万里路 5 old-next = head; if (tail != NULL) tail-next = prev; tail = old; if (head != NULL) tail-next = head; return newhead; int main(void) int i, n, k, data; node *head, *ne

5、whead; while (scanf(%d %d, i n; i +) scanf(%d, createList( printLink(head); newhead = reverseK(head, k); printLink(newhead); return 0; 5、利用两个 stack 模拟 queue 剑指 offer 上的原题,九度 oj 有专门的练习,这里贴一下我的 ac 代码: #include #include #include typedef struct stack 读万卷书 行万里路 7 int top; int seq100000; stack; /* * 入队操作

6、* * T = O(1) * */ void pushQueue(stack *s1, int data) s1-seqs1-top + = data; /* * 出队操作 * * T = O(n) * */ void popQueue(stack *s1, stack *s2) if (s2-top 0) printf(%dn, s2-seq- s2-top); 读万卷书 行万里路 8 else while (s1-top 0) s2-seqs2-top + = s1-seq- s1-top; if (s2-top 0) printf(%dn, s2-seq- s2-top); else p

7、rintf(-1n); int main(void) int data, n; stack *s1, *s2; char str5; while (scanf(%d, s2 = (stack *)malloc(sizeof(stack); s1-top = s2-top = 0; 读万卷书 行万里路 9 while (n -) scanf(%s, str); if (strcmp(str, PUSH) = 0) 入队列 scanf(%d, pushQueue(s1, data); else 出队列 popQueue(s1, s2); free(s1); free(s2); return 0;

8、6、一个 m*n 的矩阵,从左到右从上到下都是递增的,给一个数 elem,求是否在矩阵中, 给出思路和代码 杨氏矩阵,简单题目: 读万卷书 行万里路 10 #include #include /* * 有序矩阵查找 * * T = O(n + n) * */ void findKey(int *matrix, int n, int m, int key) int row, col; for (row = 0, col = m - 1; row = 0;) if (matrixrowcol = key) printf(第%d 行,第%d 列n, row + 1, col + 1); break;

9、 else if (matrixrowcol key) col -= 1; else row += 1; printf(不存在!n); 读万卷书 行万里路 11 int main(void) int i, j, key, n, m, *matrix; 构造矩阵 scanf(%d %d, matrix = (int *)malloc(sizeof(int *) * n); for (i = 0; i n; i +) matrixi = (int *)malloc(sizeof(int) * m); for (i = 0; i n; i +) for (j = 0; j m; j +) scanf(%d, 查询数据 while (scanf(%d, return 0;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号