日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

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

發布時間:2025/3/21 HTML 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 答与微博前端教主在吃饭时讨论到的一道微软面试题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

加引號是因為我不知道是否真是微軟面試題。題目是這樣的:

?

有一車在某無限長公路上行駛,其起始位置和單位時間內速度均為有限大整數(正負不確定), 現有一儀器,在每一時間單位內可以探測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

總結

以上是生活随笔為你收集整理的答与微博前端教主在吃饭时讨论到的一道微软面试题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。