今日下午去面试这个公司,依稀记得几个很有意思题目,也算是考察个人思考逻辑能力。下面分享几个还算有意思的题目。

1、有17根等长木棍,每根长度为11.1,现在切成等量的两种木棍,以下简称A木棍和B木棍。

A木棍长1,B木棍长0.7 求问:最多能切出多少组木棍(1个A和1个B称为1组)。

A 99 B 105 C 111 D 125

解答:显然17*11.1/(1+0.7) = 111 也就是说利用率为100%的时候,能达到111组。于是我们考虑如何能100%利用这些棍子。首先考虑一根棍子的拆解

如下:11.1 = 3*0.7 + 9*1 1

11.1 = 13*0.7 + 2*1 2

显然要100%利用率只能是如上两种切法。假设切法1切了(k)个木棍,切法2切了(17-k)个木棍

则:k*3 + 13*(17-k) = 9*k + 2*(17-k) 若此方程有正整数解,则可以达到100%利用率。

解得k=11 。 答案为111

2、有两个杯子,容量分别为30,70,求如何最快得到20和80

这种小学数学竞赛见过的题目。下面直接给出解法了。80的留给读者思考,先得到10即可。

30 | 70 杯子

————————

30 | 0 30装满水

0 | 30 30的水全部倒入70

30 | 30 30再装满水

0 | 60 30的水再全部倒入70

30 | 60 30再装满水

20 | 70 30的水再倒入70直到满

至此,得到20

3、有4个人过独木桥,仅有一个手电筒,过桥必须依赖手电筒。桥一次最多允许两个人,求这4个人最快过桥时间。其中:两人一起过桥的时间是计以慢的那个人时间。

四个人过桥时间:1,2,5,8

解答:初看这道题目,可能很容易就进入这样的思考:每次让最快的人来护送。

于是:

1、1,8电筒过桥 +8

2、1带电筒回 +1

3、1,5电筒过桥 +5

4、1带电筒回 +1

5、1,2电筒过桥 +2

总耗时为:17

但是这个却不是最优。

当人数等于1,2,3的时候:答案很容易得出;
当人数大于等于4时:

若设过桥速度最快的那个人过桥时间为a,第二快为b;过桥第二慢的那个人过桥时间为y,最慢为z;
此时有两种过桥方案:
一.最快和次快的人先过,然后最快的回来,然后最慢与次慢的人再过,次快的回来;
二.最快的和最慢的过,快的回来,在和次慢的过,快的再回来;

最优方案:

1、1,2电筒过桥 +2

2、1带电筒回 +1

3、5,8电筒过桥 +8

4、2带电筒回 +2

5、1,2电筒过桥 +2

总耗时为:15

4、有一个水库,假设年降水量恒定;水库可供12W人使用20年。由于某些原因人口增加到15W,水库的水只够使用15年。市长呼吁节约用水,希望水可以用到30年。求每个人的用水量为原来的几分之几。(假设人数不会再增加,年降水恒定)

解答:初看此题,还有点迷糊,一直纠结在:12*20 > 15*15 ,后来一想,水库应该还有存储。

假设水库本来有水W,年降雨为k,每人用水为y,则有

W + 20*k = 12*20*y

W + 15*k = 15*15*y

假设节约用水后的人用水量为x,则

W + 30*k = 15*30*x

以上三式,求解得 x = 3/5 * y

5、有序数组{1,2,3,4},进行移动,比如移动1为{4,1,2,3},移动2位{3,4,1,2}。现在有一个这样的有序数组,经过若干位移,但不知道移动了多少。求在该数组查找某个数的效率。

解答:假设数据为{a1,a2,...,an},假设移位了k,则{a1,a2,...,ak},{ak+1,...an}分别有序。

二分查找,找出am,则am必然属于{a1,a2,...,ak}或{ak+1,...an},则必然有

{a1,a2,...,am}或者{am,am+1,...,an}其中一个是有序的。

a。若待查找的数是在有序的一组数中,则直接二分查找即可。

b。若待查找的数不在有序的一组,则在另一组中查找。

c。另一组无序的数组,仍然满足{a1,...,an}的性质。此时问题规模缩减,递归子问题即可。

时间复杂度logn

比如:{17,20,33,1,3,5,6,8,13,15},查找20

1、二分数组{17,20,33,1,3},{5,6,8,13,15}

2、第二组有序,20不在5~15,所以查找第一组数{17,20,33,1,3}

3、{17,20,33,1,3}满足有序数组移位的性质,递归即可。

4、{17,20} {33,1,3},发现20在有序的那组中17~20,则直接对有序数组二分查找即可。

转载于:https://blog.51cto.com/lonelyc/1320548

2013-11-5 深圳尚游网络公司 - 服务器开发工程师相关推荐

  1. 本科毕业四年时间如何从月薪7k到年薪60w,讲下个人从菜鸟程序员到公司核心开发工程师的历程!

    本科毕业四年时间如何从月薪7k到年薪60w,讲下个人从菜鸟程序员到公司核心开发工程师的历程,本帖主要分享下个人经历,只要努力最终会收获一个相对于自己较好的结果的,工位照镇楼 毕业四年到现在总共换了三份 ...

  2. 某公司软件开发工程师孙工,作息规律为上三天班,休息一天,经常不确定休 息日是否周末,为此,请你开发一个程序,当孙工输入年及月,以日历方式显示对 应月份的休息日,用中括号进行标记.同时,统计出本月有几天

    By 张旭CaesarChang                合作: root121toor@gmail.com ~关注我  带你看更多精品知识 某公司软件开发工程师孙工,作息规律为上三天班,休息一 ...

  3. 某公司软件开发工程师孙工,作息规律为上三天班,休息一天,经常不确定休息日 是否周末,为此,请你开发一个程序,当孙工输入年及月,以日历方式显示对应月 份的休息日,用中括号进行标记.同时,统计出本月有几天

    某公司软件开发工程师孙工,作息规律为上三天班,休息一天,经常不确定休息日 是否周末,为此,请你开发一个程序,当孙工输入年及月,以日历方式显示对应月 份的休息日,用中括号进行标记.同时,统计出本月有几天 ...

  4. 网络数据服务器开发总结

    这半个月主要精力放在了开发一个网络数据服务器.该服务器的架构是基于IOCP模型,该程序的主要功能如下: 服务器解析硬件传入的数据帧并打印: 服务器解析客户端传入的JSON类型数据命令,根据相应的命令传 ...

  5. 杭州公司java开发工程师常见面试问题

    1.离线查询去除重复项怎么加条件? dc.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); 2. http协议及端口,smtp协议及端口 超文本 ...

  6. 招银网络科技C++开发工程师校招一面面经

    作者:SSP选手30025 内容来源:SSP面试笔记 面试了C++开发,跟大家分享一下我的面经,希望对大家有帮助!! 在 SSP面试笔记 看了很多面经,感谢前辈的分享,今天我也分享下面试题目: 1.自 ...

  7. 悦游网络加速器2013V0.11国际版 官方软件下载

    悦游网络加速器2013V0.11国际版 官方软件下载 软件名称: 悦游网络加速器 软件版本: 2013v0.11  软件语言:中文简体 软件授权:共享版  软件类别:网络辅助.网络优化.网络加速. 软 ...

  8. 汉游天下公司的一些感悟

     曾在 汉游天下 游戏教育基地担任过3年游戏场景课程讲师,就是GA传说中的"高哥".--编辑) 关于这个话题,很久以前就想写,但一直限于想法上,今天太阳很好,终于提笔,也算是对 ...

  9. 盘点2013中国大陆十大IC设计公司

    盘点2013中国大陆十大IC设计公司 2014年9月23日 •     OFweek电子工程网讯:从华强电子产业研究所统计的2013年中国大陆IC设计公司销售排行榜来看,华为公司旗下的海思半导体有限公 ...

最新文章

  1. py-redis中的批量删除key方法
  2. django项目转pyc_问题网址.pycdjango生成的文件,如何修复?
  3. 安卓应用安全指南 5.5.1 处理隐私数据 示例代码
  4. Redis数据库15点介绍
  5. Win7下建立Wifi热点
  6. 揭开迷雾,来一顿美味的Capsule盛宴
  7. 企业提高客户保持率基本方法
  8. 小米笔记本用来开发java_小米笔记本 Pro用来编程怎么样?
  9. python爬虫抓图_Python 爬虫网页抓图保存
  10. 分享77个HTMLCSS源码,总有一款适合您
  11. 艾永亮:美国最大面包连锁品牌如何通过超级产品战略成为行业第一
  12. 推荐6款地球表面最强软件的电脑软件
  13. 北方计算机专修学院“展示自我 秀出风采” 网页创意设计大赛成功举办
  14. 什么是mmap?零拷贝?DMA?
  15. 创维酷开8S70 安卓4.4ROM
  16. 通过you-get下载bilibili视屏
  17. 不用代码快速将Excel的数据导入SQL Server数据库中
  18. writedouble_从MySQL中的double write问题说开去
  19. 攀登现代数学顶峰的第一步
  20. 计算机毕业设计(附源码)python智能居家养老服务平台

热门文章

  1. Vue.js2.0核心思想
  2. 201621123058《java程序设计》第二周学习总结
  3. Tarjan求lca
  4. 读《构建之法》第11,12章有感
  5. 自己遇到oracle的错误记录
  6. QTableView操作 双击 单机事件信号
  7. IOS网络框架的Alamofire5.4高版本网络工具封装
  8. Swift5版本以上自定义回调函数报错
  9. git add后取消_git 必看,各种撤销操作
  10. 程序员基本功 06 流程控制的陷阱