該題目**於牛客網《劍指offer》專題。
每年六一兒童節,牛客都會準備一些小禮物去看望孤兒院的小朋友,今年亦是如此。hf作為牛客的資深元老,自然也準備了一些小遊戲。其中,有個遊戲是這樣的:首先,讓小朋友們圍成乙個大圈。然後,他隨機指定乙個數m,讓編號為0的小朋友開始報數。每次喊到m-1的那個小朋友要出列唱首歌,然後可以在禮品箱中任意的挑選禮物,並且不再回到圈中,從他的下乙個小朋友開始,繼續0…m-1報數…這樣下去…直到剩下最後乙個小朋友,可以不用表演,並且拿到牛客名貴的「名偵探柯南」典藏版(名額有限哦!!)。請你試著想下,哪個小朋友會得到這份禮品呢?(注:小朋友的編號是從0到n-1)
如果沒有小朋友,請返回-1。
go語言實現:
func
lastremaining
(m, n int
)int
s :=
0for i :=
2; i <= n; i++
return s
}
func
lastremaining
(m, n int
)int
if n ==
1return
(lastremaining
(m, n-1)
+ m)
% n}
Go語言實現 劍指offer 題目彙總
所列題目與牛客網 劍指offer 專題相對應。陣列 和為s的兩個數字 和為s的連續正數序列 連續子陣列的最大和 數字在排序陣列 現的次數 陣列中只出現一次的數字 旋轉陣列的最小數字 陣列中的逆序對 最小的k個數 陣列 現次數超過一半的數字 把陣列排成最小的數 陣列中重複的數字 滑動視窗的最大值 構建...
Go語言實現 劍指offer 剪繩子
該題目 於牛客網 劍指offer 專題。給你一根長度為n的繩子,請把繩子剪成整數長的m段 m n都是整數,n 1並且m 1 每段繩子的長度記為k 0 k 1 k m 請問k 0 xk 1 x xk m 可能的最大乘積是多少?例如,當繩子的長度是8時,我們把它剪成長度分別為2 3 3的三段,此時得到的...
Go語言實現 劍指offer 跳台階
該題目 於牛客網 劍指offer 專題。乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法 先後次序不同算不同的結果 1階 共1種跳法 2階 共2種跳法 3階 共3種跳法 n階 先跳1級,還剩n 1級,跳法是f n 1 先跳2級,還剩n 2級,跳法是f n 2 ...