面試題 約瑟夫環問題

2021-10-05 07:45:51 字數 688 閱讀 7051

題目:0,1,…,n-1這n個數字拍成乙個圓圈,從數字0開始,每次從這個圓圈裡刪除第m個數字。求出這個圓圈裡身下的最後乙個數字。

規律法:

class solution 

return pre;}}

;

鍊錶模擬法:

class solution 

list<

int>

::iterator next=

(++cur)

;//賦值的時候先自加,再賦值,因為我想要儲存下來cur的值,而cur是乙個類似指標的形式

//所以就新建乙個迭代器

if(next==num.

end())

//這裡也要考慮到模擬環的作用

next=num.

begin()

; cur--

;//cur之前自加了,這裡要讓它變回原來那個待刪除的點

num.

erase

(cur)

;//直接刪除這個類似指標的東西,就可以達到刪除的目的

cur=next;

}return

*(cur)

;//返回的要是值,所以加*}}

;

經典面試題 約瑟夫環

0,1,n 1這n個數字排成乙個圓圈,從數字0開始每次從這個圓圈裡刪除第m個數字。求出這個圓圈裡剩下的最後乙個數字。每組資料一行,包含2個整數n和m,分別表示0 到 n 1 的序列和指定刪除的第m個數字。輸出能保留到最後的那個數字。5 3除了暴力破解其實還有一種方法就是找到n個數字和n 1個數字的之...

筆試題 約瑟夫環的問題

約瑟夫遊戲的大意 30個遊客同乘一條船,因為嚴重超載,加上風浪大作,危險萬分。因此船長告訴乘客,只有將全船29個旅客投入海中,其餘人才能倖免於難。無奈,大家只得同意這種辦法,並議定30個人圍成一圈,由第乙個人數起,數到第三個人,便將他投入大海中,如此,迴圈的進行,直到剩下乙個遊客為止。問 哪些位置是...

約瑟夫問題 約瑟夫環

約瑟夫 問題 有時也稱為約瑟夫斯置換,是乙個出現在電腦科學和數學中的問題。在計算機程式設計的演算法中,類似問題又稱為約瑟夫環。又稱 丟手絹問題 據說著名猶太歷史學家 josephus有過以下的故事 在羅馬人占領喬塔帕特後,39 個猶太人與josephus及他的朋友躲到乙個洞中,39個猶太人決定寧願死...