約瑟夫環高階問題

2021-10-05 21:32:40 字數 1092 閱讀 1629

約瑟夫環高階:

2020個數 圍成乙個圈,從第乙個開始,每過三個,刪除三個,例:從1開始,刪除2,3,4。求出最後剩下的數是多少?
**如下:

public static void main(string args) 

if (i == cycle - 1)

}// 如果indexlist只有乙個值,則為最後解,直接返回。

if(indexlist.size() == 1)

for(int j = 0; j< indexlist.size();j++)

arr[indexlist.get(j-1)] = false;

arr[indexlist.get(j-2)] = false;

break;}}

kill++;

// 每次迴圈 清空indexlist

indexlist.clear();

}// 以下**為重點,沒看懂。。。。

// if(kill==total-1) result = (index+1);

index = (index+1) % total;}}

return null;

}

今天的日期是2021-06-30 14:51,今天在工作學習的時候,突然想起這個問題,於是翻閱自己的部落格,看了下之前的解法,發現好蠢,於是自己重新寫了一編,主要思路就是用鍊錶的方式,這個方法比之前的寫法,**簡單多了。**如下:

public void test1() else if (i == 2020)else 

next = node;

}int count = 0;

// 結束條件就是head.next = head,說明只有乙個值了

while(head.next.val != head.val)

count++;

}// 列印結果

system.out.println(head.val);

}

以前 這道題 想了好久 還是在網上找的別人的答案,經過不斷學習,今天花5分鐘就解答出來了,感覺自己進步挺大,感觸也挺深。。加油!奧里給!

約瑟夫環高階

資料結構上機題 每個人有自己的編號和乙個數字 用於決定下乙個淘汰者 先輸入第乙個的序號 例如 共有10人圍成環,每個人標號從1到10,每人手裡拿著乙個數,假定編號5的人手中拿著數字3 假定輸入的第乙個淘汰序號為5,則編號為5的人淘汰,此時獲取編號為5的人手中的數字,即3,則從淘汰者 5 的下乙個位置...

約瑟夫問題 約瑟夫環

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

約瑟夫問題 約瑟夫環

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