发布于 2014-12-29 10:33:37 | 255 次阅读 | 评论: 0 | 来源: 网友投递
美团网
2010年3月4日成立的团购网站。美团网有着“美团一次,美一次”的宣传口号。为消费者发现最值得信赖的商家,让消费者享受超低折扣的优质服务;为商家找到最合适的消费者,给商家提供最大收益的互联网推广。
本文为大家整理的是一份美团网2014招聘笔试题目-技术类,回忆版,感兴趣的同学参考下。
2010年3月4日成立的团购网站。美团网有着“美团一次,美一次”的宣传口号。为消费者发现最值得信赖的商家,让消费者享受超低折扣的优质服务;为商家找到最合适的消费者,给商家提供最大收益的互联网推广。
以下为美团的试题:
1、一堆硬币,一个机器人,如果是反的就翻正,如果是正的就抛掷一次,无穷多次后,求正反的比例
解答:是不是题目不完整啊,我算的是3:1
2、一个汽车公司的产品,甲厂占40%,乙厂占60%,甲的次品率是1%,乙的次品率是2%,现在抽出一件汽车时次品,问是甲生产的可能性
解答:典型的贝叶斯公式,p(甲|废品) = p(甲 && 废品) / p(废品) = (0.4 × 0.01) /(0.4 × 0.01 + 0.6 × 0.02) = 0.25
3、k链表翻转。给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,则翻转后2→1→4→3→6→5,若k=3,翻转后3→2→1→6→5→4,若k=4,翻转后4→3→2→1→5→6,用程序实现
非递归可运行代码:
#include
#include
#include
typedef struct node {
struct node *next;
int data;
} node;
void createList(node **head, int data)
{
node *pre, *cur, *new;
pre = NULL;
cur = *head;
while (cur != NULL) {
pre = cur;
cur = cur->next;
}
new = (node *)malloc(sizeof(node));
new->data = data;
new->next = cur;
if (pre == NULL)
*head = new;
else
pre->next = new;
}
void printLink(node *head)
{
while (head->next != NULL) {
printf("%d ", head->data);
head = head->next;
}
printf("%dn", head->data);
}
int linkLen(node *head)
{
int len = 0;
while (head != NULL) {
len ++;
head = head->next;
}
return len;
}
node* reverseK(node *head, int k)
{
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 ++) {
old = head;
for (i = 0, prev = NULL; i < k; i ++) {
next = head->next;
head->next = prev;
prev = head;
head = next;
}
if (now == 0) {
newhead = prev;
}
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, *newhead;
while (scanf("%d %d", &n, &k) != EOF) {
for (i = 0, head = NULL; i < n; i ++) {
scanf("%d", &data);
createList(&head, data);
}
printLink(head);
newhead = reverseK(head, k);
printLink(newhead);
}
return 0;
}