題目: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個猶太人決定寧願死...