面试题: 逻辑思维题 (????)

1,你让一些人为你工作了七天,你要用一根金条作为报酬。金条被分成七小块,每天给出一块。 如果你只能将金条切割两次,你怎样分给这些工人?

,

解答:

把金条分成三段(就是分两次,或者切两刀),分别是整根金条的1/7、2/7 4/7

第一天:给1/7的,

第二天:给2/7的,收回1/7的

第三天,给1/7的

第四天:给4/7的,收回1/7和2/7的

第五天:给1/7的

第六天:给2/7的,收回1/7的

第七天:给1/7的

 

 

2, 有两间房,一间房里有三盏灯,另一间房有控制这三盏灯的开关(这两间房是分割开的,毫无联系).现在要你分别进这两间房一次,然后判断出这三盏分别是由哪个开关控制,你能想出办法吗?(注意:每间房只能进一次)

解答:

由于工作时间长的灯泡的温度高,工作时间短的温度低,故可以先走进有开关的房间,将三个开关编号为A、B和C,将开关A打开10分钟,然后关闭A;再打开B,然后马上走到有灯的房间,此房间内正在亮着的等由开关B控制;用手去摸一摸另外两盏灯,发热的由开关A控制,凉的由开关C控制.

 

3.    ★用一种算法来颠倒一个链接表的顺序。现在在不用递归式的情况下做一遍。
  ★用一种算法在一个循环的链接表里插入一个节点,但不得穿越链接表。
  ★用一种算法整理一个数组。你为什么选择这种方法?
  ★用一种算法使通用字符串相匹配。
  ★颠倒一个字符串。优化速度。优化空间。
  ★颠倒一个句子中的词的顺序,比如将“我叫克丽丝”转换为“克丽丝叫我”,
 
实现速度最快,移动最少。
  ★找到一个子字符串。优化速度。优化空间。
  ★比较两个字符串,用O(n)时间和恒量空间。
   ★假设你有一个用1001个整数组成的数组,这些整数是任意排列的,但是你知道所有的整数都在1到1000(包括1000)之间。此外,除一个数字出现 两次外,其他所有数字只出现一次。假设你只能对这个数组做一次处理,用一种算法找出重复的那个数字。如果你在运算中使用了辅助的存储方式,那么你能找到不 用这种方式的算法吗?
  ★不用乘法或加法增加8倍。现在用同样的方法增加7倍。
 
解答: 都没有理解  (??????)
 

转载于:https://www.cnblogs.com/william-dai/p/9044146.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值