百度武汉第二次笔试题目

pupingpp 2012-10-19 10:17:33
昨天晚上百度武汉站第二次笔试,其中几个题目(知识凭记忆的哦,难免有描述不好的地方):
概念题:
1、列举几个排序及其时间复杂度。
2、私有IP地址断。
3、多线程如何实现同步。
算法题其一:
2、1-9的9个数字,每个数字只能出现一次,要求求这样一个9位的整数:其第一位能被1整除,前两位能被2整除,前三位能被3整除。。。。依次类推,前9位能被9整除。(这个可以先分析一下,感觉是个数学问题)。
还有两个算法题,题目太长了,记不全啊。。。。
系统设计(要写出代码和算法)
8个8,在这8个8之间加入如下运算符:()+ - / * ,使整个表达式的和为100,要求:
1、每两个8之间必须有上述运算符,不能出现这样的情况:88 + (8+8+8)* 8/(8+8)。
2、你求出的表达式不能有重复,这里的重复不仅包括表达式和已有的表达式一样,还要求你新求的表达式经过交换律和结合律之后和已经求得的表达式不一样,他题目还给了两个例子,忘了。。。

最后,百度在武汉的笔试本来已经结束了,前一场没去,但是现在又搞一场,估计是牛人没招够吧,不过笔试题目还是变态。。。。。。。
...全文
404 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
SKATE11 2012-10-22
  • 打赏
  • 举报
回复
确实有难度
kingjo002 2012-10-22
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]
至于8个8那题,能想到的只有(8+(8+8)/8)*(8+(8+8)/8)这一种。。。。。。还有其他解么(交换律不算)?
[/Quote]
想不出来
I_ask_who 2012-10-19
  • 打赏
  • 举报
回复
将8个8问题:
二叉树,最多8个叶子节点,由于要求每个8之间,操作符op,每个节点不能有单独的叶子(好像有个什么术语),枚举所有这种二叉树,变换为堆栈形式,操作符op遍历所有+-*/,对栈做运算,取出结果为100的堆栈,换成中序就是表达式
难点是枚举符合条件所有二叉树,我想到的只有手绘
nice_cxf 2012-10-19
  • 打赏
  • 举报
回复
至于8个8那题,能想到的只有(8+(8+8)/8)*(8+(8+8)/8)这一种。。。。。。还有其他解么(交换律不算)?
dpdp_2012 2012-10-19
  • 打赏
  • 举报
回复
第二个也只想到枚举的方法,在8个8中间的7个空格插入4中运算符 对应为4^7 然后加括号,相当与对7个符号做全排列,总的枚举量为 (4^7)*7!=11794480种
dpdp_2012 2012-10-19
  • 打赏
  • 举报
回复
算法一:枚举。因为枚举量只有9!=362880
 
#include <stdio.h>
#include <vector>
using namespace std;

bool used[10];
vector <long long> v;

void dfs(int k,long long a)
{
if(k&&a%k!=0)
return;
if(k==9)
{
v.push_back(a);
return;
}

for(int i=1;i <=9;i++)
if(!used[i])
{
used[i]=1;
dfs(k+1,a*10+i);
used[i]=0;
}
}

int main()
{
dfs(0,0);
for(int i=0;i <v.size();i++)
printf("%lld ",v[i]);
getchar();
}

有且仅有答案381654729
dpdp_2012 2012-10-19
  • 打赏
  • 举报
回复
算法一:枚举。因为枚举量只有9!=362880
[code=Vb]
#include <stdio.h>
#include <vector>
using namespace std;

bool used[10];
vector<long long> v;

void dfs(int k,long long a)
{
if(k&&a%k!=0)
return;
if(k==9)
{
v.push_back(a);
return;
}

for(int i=1;i<=9;i++)
if(!used[i])
{
used[i]=1;
dfs(k+1,a*10+i);
used[i]=0;
}
}

int main()
{
dfs(0,0);
for(int i=0;i<v.size();i++)
printf("%lld ",v[i]);
getchar();
}
[/code]
有且仅有答案381654729
nice_cxf 2012-10-19
  • 打赏
  • 举报
回复
没写程序,用计算器算出381654729是唯一解。。。。。
江南小鱼 2012-10-19
  • 打赏
  • 举报
回复
多线程如何实现同步。想起了操作系统讲多线程举例说明的红绿灯路口基数车辆的例子,使用信号量实现同步。
nice_cxf 2012-10-19
  • 打赏
  • 举报
回复
算法题1:
首先5必然在第5位,2468必然在偶数位
进一步分析,26在48位,这样78只有32,72或16三种可能
也许还可以进一步分析,不过现在这样穷举数据量已经不大了

ado_cn1 2012-10-19
  • 打赏
  • 举报
回复
你这个应该是软开吧
dpdp_2012 2012-10-19
  • 打赏
  • 举报
回复
1 大的种类:插入排序,交换排序,选择排序,归并排序o(nlogn),基数排序,计数排序
前三个对应的高级具体形式:希尔排序,快速排序o(nlogn),堆排序 o(nlogn)

2 10.0.0.0-10.255.255.255 172.16.0.0--172.31.255.255 192.168.0.0-192.168.255.255

3 可以用信号量
一. 课程介绍本课程结合Python进行统计与数据分析的原理讲解与实战,涵盖了大部分统计&数据分析模型,特别是当前比较主流的算法:参数估计、假设检验、线性回归、广义线性回归、Lasso、岭回归、广义可加模型、回归样条等;机器学习经常用到的主成分分析、因子分析、典型相关分析、聚类分析等;各种非参数统计模型,包括非参数统计推断、尺度推断、位置推断、非参数核密度估计、非参数回归等。本课程主要针对有一定Python编程基础、即将毕业参加工作的的大三大四学生,或者已经参加工作需要提升自己数据分析能力以及转行从事IT行业尤其是数据&大数据分析工作的初入职场者,或者正在攻读硕博士学位需要学习和掌握量化研究方法的研究生。本课程对于即将从事机器学习、深度学习&人工智能相关工作的程序员也有很大帮助,有利于打好坚实的理论基础。二. 课程录第0章 课程导学第1章 数据描述性分析1.1 描述统计量1.2 数据的分布1.3 概率分布函数的图形1.4 直方图、经验分布函数与QQ图1.5 多元数据的数据特征与相关性分析1.6 多元数据的基本图形表示第2章 参数估计2.1 点估计2.2 区间估计第3章 假设检验3.1 基本原理3.2 参数检验第4章 回归分析4.1 回归分析的概念与一元线性回归4.2 多元线性回归及统计量解析4.3 逐步回归与模型选择4.4 回归诊断4.5 广义线性回归4.6 非线性回归第5章 方差分析5.1 单因素方差分析5.2 双因素方差分析第6章 判别分析与聚类分析6.1 判别分析6.2 聚类分析第7章 主成分分析、因子分析与典型相关分析7.1 主成分分析7.2 因子分析7.3 典型相关分析第8章 非参数统计8.1 经验分布和分布探索8.2 单样本非参数统计推断8.3 两独立样本的位置与尺度判断8.4 多组数据位置推断8.5 分类数据的关联分析8.6 秩相关与分位数回归8.7 非参数密度估计8.8 一元非参数回归三. 讲师简介主讲人李进华博士,本、硕、博皆就读于武汉大学信息管理学院,2005年获博士学位进入211高校任教,2012年受聘为教授。从事信息管理与数据分析方面的教学、科研与系统开发工作20余年,具备深厚理论修养和丰富实战经验。是中国最早从事Java开发的程序员和Oracle数据库的DBA之一。曾带领团队开发《葛洲坝集团三峡工程指挥中心三期工程施工管理系统》、《湖北省财政厅国有企事业单位资产管理系统》等大型MIS。

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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