劍指offer:圓圈中最後剩下的數

題目: 0,1,…n-1這n個數字排成一個圓圈,從數字0開始每次從這個圓圈裏刪除第m個數字,求出這個圓圈裏剩下的最後一個數字。 思路: 1、環形鏈表模擬圓圈 創建一個n個節點的環形鏈表,然後每次在這個鏈表中刪除第m個節點; 可以用std::list來模擬環形鏈表,list本身不是環形結構,因此每當迭代器掃描到鏈表末尾的時候,需要將迭代器移到鏈表的頭部。 2、分析每次被刪除的數字的規律,動態規劃 下
相關文章
相關標籤/搜索