面試演算法之約瑟夫問題

2021-10-20 18:32:34 字數 1029 閱讀 5778

題目:

一、構建環形鍊錶

type boy struct

func

add(num int

)*boy

help:=

&boy

if num<

1//小於1無法構建鍊錶

for i:=

1;i<=num;i++

if i==

1else

}//構建環形鍊錶

return temp

}

二、環形鍊錶的展示

func

show

(temp *boy)

for first=first .next

}}

三、約瑟夫問題實現

func

playgame

(first *boy,startno int

,countno int

) help:=first

forhelp=help.next

}for i:=

0;i1;i++

for fmt.

printf

("[%d]號->"

,first.num)

first=first.next

help.next=first

if first==help

} fmt.

printf

("[%d]號->"

,first.num)

}

四、主函式呼叫

func

main()

看完如果對自己有幫助,請點贊支援,謝

經典演算法問題之約瑟夫問題

據說著名猶太歷史學家 josephus有過以下的故事 在羅馬人占領喬塔帕特後,39 個猶太人與josephus及他的朋友躲到乙個洞中,39個猶太人決定寧願死也不要被敵人抓到,於是決定了乙個自殺方式,41個人排成乙個圓圈,由第1個人開始報數,每報數到第3人該人就必須自殺,然後再由下乙個重新報數,直到所...

經典演算法之約瑟夫環問題

前幾天看到乙個程式設計題,約瑟夫環問題。問題的由來是乙個猶太故事,41乙個人被困,有39個人想要自殺,想活下去的兩個人就出主意說,大家圍成乙個環,報到3的人自殺。結果兩個人成功脫險,也就誕生了這個演算法。由於本人實力有限,寫出的程式也並未進行優化,可能時間複雜度和空間複雜度上有很多問題,只希望給各位...

面試演算法問題

網易2017校園招聘演算法題 找數字問題 1 問題描述 給定陣列a,除了乙個數出現一次外,其他的數字出現3次,求只出現一次的數字 2 要點 不考慮只出現一次的數,在每個bit上,1和0的個數都是3的倍數。3 include int main unsigned int ncases 0 scanf d...