2012Hulu校园招聘笔试题
一、填空
侧重逻辑思维,没有语言、具体技术考察,大部分属于组合数学、算法。比较基本的知识点有二元树节点树、最小生成树、Hash函数常用方法等。
二、编程题
1、正整数剖分
2、AOE关键路径
3、二元树前序、中序求后序
4、大整数加
//正整数剖分
#include <stdio.h> int func(int n, int k, int max)
{
int min = (int)((n+k-)/k);
if(k==)
return ;
int count = ;
for(int i=min;i<max;i++){
count += func(n-i, k-, max-i);
}
return count;
} int main()
{
int ans;
int i = ;
//ans = func(10, 3, 10);
ans = func(, , );
printf("%d\n", ans); return ;
}
//AOE
#include <stdio.h>
#include <stdlib.h>
#include <string.h> void AOE(int adj[][], int n)
{
int *e = (int*)malloc(sizeof(int)*n);
int *l = (int*)malloc(sizeof(int)*n);
e[]=;
for(int i=;i<n;i++){
int max = ;
for(int j=;j<i;j++){
if(adj[j][i]!= && adj[j][i]+e[j]>max){
max = adj[j][i] + e[j];
}
}
e[i]=max;
}
l[n-]=e[n-];
for(int i=n-;i>=;i--){
int min = ;
for(int j=n-;j>i;j--){
if(adj[i][j]!= && l[j]-adj[i][j]<min){
min = l[j]-adj[i][j];
}
}
l[i]=min;
}
for(int i=;i<n;i++){
if(e[i]==l[i])
printf("%d\t", i+);
}
printf("\n");
free(e);
free(l);
}
int main()
{
const int size = ;
int adj[size][size];
memset(adj, , sizeof(int)*size*size);
adj[][] = , adj[][]=, adj[][]=;
adj[][] = , adj[][]=, adj[][]=;
adj[][] = , adj[][]=, adj[][]=;
adj[][] = , adj[][]=; AOE(adj, size); return ;
}
//二元树前序、中序打印后序
#include <stdio.h>
#include <cstring>
#include <stack>
using namespace std;
void dumpPost(const char* pre, const char* mid)
{
int n = strlen(pre);
if(n==){
printf("%c\t", pre[]);
return;
}
int i;
for(i=;i<n;i++){
if(mid[i]==pre[])
break;
}
char lpre[i], lmid[n-i-];
char rpre[i], rmid[n-i-];
memcpy(lpre, pre+, sizeof(char)*i);
memcpy(lmid, mid, sizeof(char)*i);
memcpy(rpre, pre+i+, sizeof(char)*(n-i-));
memcpy(rmid, mid+i+, sizeof(char)*(n-i-));
lpre[i] = lmid[i] = '\0';
rpre[n-i-] = rmid[n-i-] = '\0';
dumpPost(lpre, lmid);
dumpPost(rpre, rmid);
printf("%c\t", pre[]);
}
int main()
{
const char* preOrder = "ABDEC";
const char* midOrder = "DBEAC";
const char* postOrder = "DEBCA"; dumpPost(preOrder, midOrder);
printf("\n"); return ;
}
//大整数运算
#include <stdio.h>
#include <stdlib.h>
#include <string.h> void strrev(char* s)
{
int i=-;
while(s[++i]!='\0');
for(int j=;j<i/;j++){
char tmp = s[j];
s[j] = s[i-j-];
s[i-j-]=tmp;
}
}
void Add(const char*str1, const char* str2, char* ans)
{
int l1, l2, l;
l1 = strlen(str1);
l2 = strlen(str2);
l = l1>l2 ? l1 : l2;
char* s1 = (char*)malloc(sizeof(char)*(l1+));
char* s2 = (char*)malloc(sizeof(char)*(l2+));
memcpy(s1,str1,(l1+)*sizeof(char));
memcpy(s2,str2,(l2+)*sizeof(char));
strrev(s1);
strrev(s2);
int i;
int sum, carry;
i=sum=carry=;
while(i<l){
char a = i<l1?s1[i]:'';
char b = i<l2?s2[i]:'';
sum = a-''+b-'' + carry;
ans[i] = sum % + '';
carry = sum / ;
i++;
}
if(carry!=)
ans[i++]=carry+'';
ans[i]='\0';
strrev(ans);
free(s1);
free(s2);
}
void Mul(const char*str1, const char* str2, char* ans)
{
int l1, l2, l;
l1 = strlen(str1);
l2 = strlen(str2);
l = l1 + l2;
ans[]='\0';
char* s1 = (char*)malloc(sizeof(char)*(l1+));
char* s2 = (char*)malloc(sizeof(char)*(l2+));
memcpy(s1,str1,(l1+)*sizeof(char));
memcpy(s2,str2,(l2+)*sizeof(char));
strrev(s1);
strrev(s2);
char* tmp = (char*)malloc(sizeof(char)*(l1+));
int s, carry;
s = carry = ;
for(int i=;i<l2;i++){
int j;
for(int j=;j<i;j++)
tmp[j]='';
for(j=;j<l1;j++){
s = (s1[j]-'')*(s2[i]-'')+carry;
tmp[i+j]=s%+'';
carry=s/;
}
if(carry!=)
tmp[i+j++]=carry+'';
tmp[i+j]='\0';
strrev(ans);
strrev(tmp);
Add(ans,tmp, ans);
strrev(ans);
}
strrev(ans);
}
int main()
{
const char a[] = "";
const char b[] = "";
char c[]; Add(a,b,c);
printf("a+b=%s\n", c);
Mul(a,b,c);
printf("a*b=%s\n", c); return ;
}
2012Hulu校园招聘笔试题的更多相关文章
- 2014 WAP校园招聘笔试题
2014 WAP校园招聘笔试题 Problem's Link: http://www.doc88.com/p-6751117015483.html WAP公司笔试题 We are planning ...
- google2013校园招聘笔试题(全国)
google2013校园招聘笔试题 1. 单项选择题1.1如果把传输速率定义为单位时间内传送的信息量(以字节计算)多少.关于一下几种典型的数据传输速率:1.使用USB2.0闪存盘,往USB闪存盘上拷贝 ...
- Microsoft 2013校园招聘笔试题及解答
Microsoft 2013校园招聘笔试题及解答 题目是自己做的,求讨论.吐槽.拍砖 1. Which of the following callingconvension(s) suppo ...
- Microsoft2013校园招聘笔试题
Microsoft2013校园招聘笔试题 继续求拍砖!!!! 1. You are managing the database of a book publichser, you currently ...
- C# - 2017微软校园招聘笔试题 之 MS Recognition[待解决]
MS Recognition 在线提交: hihoCoder 1402 http://hihocoder.com/problemset/problem/1402 类似: OpenJudge - I:P ...
- 京东2017校园招聘笔试题 【第K个幸运数】
题目描述 4和7是两个幸运数字,我们定义,十进制表示中,每一位只有4和7两个数的正整数都是幸运数字. 前几个幸运数字为:4,7,44,47,74,77,444,447... 现在输入一个数字K,输出第 ...
- 九度OJ 1531 货币面值(网易游戏2013年校园招聘笔试题) -- 动态规划
题目地址:http://ac.jobdu.com/problem.php?pid=1531 题目描述: 小虎是游戏中的一个国王,在他管理的国家中发行了很多不同面额的纸币,用这些纸币进行任意的组合可以在 ...
- PPS2013校园招聘笔试题
转载请标明出处,原文地址:http://blog.csdn.net/hackbuteer1/article/details/11473405 一.简答题 (1)一位老师有2个推理能力很强的学生,他告诉 ...
- Microsoft2013校园招聘笔试题及解答
继续求拍砖!!!! 1. You are managing the database of a book publichser, you currently store the book orders ...
随机推荐
- ansible 批量推送公钥
这里我们使用ansible的playbook 的功能来推送秘钥 使用方法参见:http://blog.csdn.net/magedu_linux/article/details/48529645 这里 ...
- 如何更新 Visual Studio 2017 的离线安装包
现在 Visual Studio 2017 已经不再使用原来的 iso 镜像提供离线安装包了,需要的话,可以通过命令行参数下载离线安装包,例如: vs_Enterprise.exe --layout ...
- 【Java】日志知识总结和经常使用组合配置(commons-logging,log4j,slf4j,logback)
Log4j Apache的一个开放源码项目,通过使用Log4j,我们能够控制日志信息输送的目的地是控制台.文件.GUI组件.甚至是套接口服务 器.NT的事件记录器.UNIX Syslog守护进程等.用 ...
- GDC2017资料整理
GDC2017的资料最近放出来了,我筛选了一下 特别是Horizon放出很多干货,也有一些去年的末班车.Vulkan有一堆,但不是很感兴趣 感谢王同学的搬运和分类(包含以下链接pdf和视频): htt ...
- 2-7-集合运算(A-B)∪(B-A)-线性表-第2章-《数据结构》课本源码-严蔚敏吴伟民版
课本源码部分 第2章 线性表 - 集合运算(A-B)∪(B-A) ——<数据结构>-严蔚敏.吴伟民版 ★有疑问先阅读★ 源码使用说明 链接☛☛☛ <数据结构-C语言 ...
- GitBash: 右键添加 Git Bash Here 菜单
步骤: 1.通过在“运行”中输入‘regedit’,打开注册表. 2.找到[HKEY_CLASSES_ROOT\Directory\Background]. 3.在[Background]下如果没有[ ...
- vim学习笔记(11):vim 去掉<200b>
vim查看文件,发现多了<200b>字符,使用/200b搜索匹配不上:grep 200b 也匹配不上 查询后才知道:200b是:Unicode Character 'ZERO WIDTH ...
- 【嵌入式】FS2410非操作系统外围资源测试
在刚接触FS2410时,其实这个测试也没有多大意义,但是对于以后来说,当一个产品做成功时,产品测试还是一个必须经过的一个阶段,所以这个流程还是有必要走一下! 在非操作系统下,主要进行RTC测试,按键测 ...
- Android下基于PCM的音频渲染
环境准备 请按照我之前的文章-Android下基于SDL的位图渲染,安装必要的开发环境. 实践篇 这里主要参考Beginning SDL 2.0(6) 音频渲染及wav播放,只不过将源从WAV文件改成 ...
- js生成二维码实例
<!DOCTYPE html><html><head> <title></title> <meta charset=&qu ...