zoukankan      html  css  js  c++  java
  • 面试题: 逻辑思维题 (????)

    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倍。
     
    解答: 都没有理解  (??????)
     
  • 相关阅读:
    node.js入门
    分布式爬虫
    ES6入门
    Vue.js入门
    用scrapy爬取亚马逊网站项目
    垃圾回收器
    HTTP协议详解
    有效的邮箱地址
    C#中正则表达式的使用
    抽象类
  • 原文地址:https://www.cnblogs.com/william-dai/p/9044146.html
Copyright © 2011-2022 走看看