加引号是因为我不知道是否真是微软面试题。题目是这样的:

有一车在某无限长公路上行驶,其起始位置和单位时间内速度均为有限大整数(正负不确定), 现有一仪器,在每一时间单位内可以探测1次车是否在指定位置,求一方法能在有限时间内求出车的速度和初始位置。

答曰:

解此题目分为两个步骤,第一个步骤,探测到车一次

第二个步骤,求出车的速度和位移。

先解答第一步骤,

显然,假设车位移为s,速度为v,在时间t时车的位置必定为 s+v*t

现在我在时间t时,可以对<s,v>值做出一次猜测<x,y>,然后探测位置 x+y*t,若这个位置有车,则第一步骤得解,若这个位置无车,则必定说明猜测<x,y>是不正确的,即可以排除解<x,y>

所以现在我们要构造一个序列 <x(t),y(t)>,使得对于任意的<s,v>取值,总有有限大的t使得 <x(t),y(t)> 值为 <s,v>,此问题之几何意义为将平面中的所有点映射到一个序列,下面给出其中一种最容易编程实现的解。(吃饭时我说的是螺旋形映射,但是想来似乎不如菱形映射容易编程实现)

假设s与v绝对值之和为m,则m必定有限,现在可以用以下代码所示算法检测:

var t = 0;
for(var m = 0; m < Infinity; m++) {

for(var x = 0; x <= m; x++) {
         var y = m - x;

if(check(x+y*(t++))) {
             break;
         }
         if(check(x+(-y)*(t++))) {
             break;
         }
         if(check((-x)+y*(t++))) {
             break;
         } 
         if(check((-x)+(-y)*(t++))) {
             break;
         }

}

}  
//我知道你们看完代码肯定想揍我,没错,前面那一堆废话其实说的就是这么简单的事情......

第二个步骤,

因为第一步骤的假设<x,y>并非位置的必要条件,所以无法反过来得出探测命中车之后<s,v>必定为<x,y>。但是我们知道车的现在位置之后,可以车之速度为x,依0,1,-1,2,-2,3,-3......这样的序列依次猜测,第二次命中即可得到速度v。

由速度又可以算出初始位置s

from: http://www.cnblogs.com/winter-cn/archive/2012/07/08/2581790.html

答与微博前端教主在吃饭时讨论到的一道微软面试题相关推荐

  1. 好奇怪呀后面加什么标点_狗狗吃饭时奇怪的小动作,你知道代表什么吗?做个懂狗的好主人...

    狗狗有时候因为一些奇怪的小行为,会让主人觉得很可爱.如果我们希望能够了解狗狗更多一些,那么我们需要透过它们的行为本身,去理解背后所代表的含义,才能和狗狗更亲密的交流. 很多狗狗在吃饭的时候,也会表现出 ...

  2. 前端开发审查元素时CSS样式有个横线(该CSS样式定义后无效) 的解决办法

    问题概述 关于这个问题,博主是在前端开发,样式调试的时候遇到的, 进行盒模型,CSS Debugger调试时,遇到样式设值后不可用的情况! 如下图: 解决办法 左看右看,上看下看,最终发现是前面在编码 ...

  3. 不同部门员工吃饭时聊些什么,程序员那一段笑死我了…

    不同部门员工吃饭时聊些什么,程序员那一段笑死我了- 分类 程序员笑话 身为程序员,大家和同事吃饭的时候喜欢聊天吗?大家又在聊些什么呢?有没有想过,你们聊天的内容已经暴露了自己的职业哦. (一) 甲:你 ...

  4. web前端程序员求职时该如何写简历

    场对于Web前端开发人员在近两年需求不断增加,不少人冲着web前端的高薪和前景而去学习,那么web前端课程怎么样?值不值得去学习?成为很多初学者比较关心的问题. 随着智能手机和移动互联网的普及,PC端 ...

  5. 腾讯微博项目 之 获取主页时间线(未写完)

    获取主页的时间线,就是获取当前用户的主页的微博信息 介绍请打开 http://wiki.open.t.qq.com/index.php/%E6%97%B6%E9%97%B4%E7%BA%BF/%E4% ...

  6. 微博前端面试(Zxw记录问题,自己总结)

    目录 1.自我介绍 2.javaScript的数据类型及简单介绍 3.快速排序.冒泡排序的实现原理 4.前端兼容性举例 5.你在做过的项目中,有哪些觉得让你惊艳的地方.具体侧重JS方面讲解. 6.数组 ...

  7. 从文科生到前端专家 - 在转行时我想过的问题

    从一篇约稿说起: 在 2021 年的 8 月份,工作中的我接到了淘系技术运营同学的约稿,邀请我谈一下"程序员最重要的能力是什么".随后我根据自身经历,写下了回答,全文发表在淘系技术 ...

  8. 解决springboot处理时间日期格式化问题(从数据库至前端)和Springboot-定时执行任务的实现

    目录 1.解决处理时间格式化 1.数据库 2.java中该表该字段对应的实体类的属性类型为Date 3.前端发起请求后接收到的参数 4.解决方案 4.1.全局配置:在application.yml中做 ...

  9. 微博移动版获取评论时返回{ok:0}的解决办法

    评论获取的方法可以参考这篇文章https://www.jianshu.com/p/8dc04794e35f,讲的非常详细. 但是可能一些朋友还是会和我遇到一样的问题:无论做什么尝试在第一页之后评论返回 ...

最新文章

  1. java设计一个bank类实现银行_SAP银企直连之平安银行(ECC版)
  2. JqueryQrcode生成二维码不支持中文的解决办法
  3. 5G UPF + MEC 的部署位置、场景与模式
  4. 【Flutter】Image 组件 ( 配置本地 gif 图片资源 | 本地资源加载 placeholder )
  5. js 判断变量是否有值返回bool_有没有办法可以获得javascript函数返回值里的bool值,代码如下:...
  6. 原生sql 查询返回一个实体_python连接SQLServer执行给定的查询SQL语句,并返回结果数据...
  7. Linux搭建深度学习环境使用指南
  8. python缩进注意事项_python注意事项
  9. python连载第12篇 for循环 源码+ 答案
  10. TCP是如何保证数据的可靠传输的
  11. Media Player Classic - HC 源代码分析 6:MediaInfo选项卡 (CPPageFileMediaInfo)
  12. 最常见的电脑数据恢复软件有几种
  13. 机器学习笔记 - 什么是t-SNE?
  14. 测试大纲法与 场景法
  15. php ucfirst,Arale源码解析(3)——Base模块和Aspect模块
  16. android手机相册多张上传,一键批量上传手机照片到QQ相册功能 节省手机流量
  17. html中颜色打字机效果,基于Css3和JQuery实现打字机效果
  18. 关于Mars3D运行步骤以及调接口的问题
  19. 大前端-HTML-标签
  20. unity3d学习笔记-着色器(3.凹凸贴图Bump Maps)

热门文章

  1. 记一次mongoDB-@Document(collection = “XXX“)配置的探索
  2. Java Review - 创建线程和线程池时建议指定与业务相关的名称
  3. CSS基础_Day02
  4. /bin/bash: jar: command not found
  5. 如何基于多线程队列简单实现mq
  6. SpringCloud-容错处理Hystrix熔断器
  7. php将换行变为 p 标签,editplus 将文本换行替换为p标签
  8. hadoop 文本统计一个字符的个数_使用hadoop统计多个文本中每个单词数目
  9. python知识:函数abs、delattr、hash、memeryview、index
  10. mysql删除账户后不能使用_MySQL删除普通用户