1. 程式人生 > >提取不重複的整數【牛客網】

提取不重複的整數【牛客網】

題意理解

題意簡單,提取不重複的整數,從一個int整數中從低位到高位依次輸出不重複的整數值

問題分析

不重複想到了用stl模板的set,可以自動剔重。

嘗試了以後,發現set有自動排序的功能,放棄,發現有個unordered_set,於是用之。

發現順序是反的,於是找反向迭代器,unordered_set沒有,於是用陣列儲存正常迭代器的輸出,再反向輸出陣列中的整數

編譯通過後,放到網站跑,發現順序亂了,查資料發現是unordered_set不儲存順序,自然也不會穩定輸出了。

上網資料後,發現對於反向輸出,不用列表儲存,用一個數儲存,每次加一位即可。對於不重複的問題,可以用陣列做標記,如果數字已經記錄了,就丟棄。只用一個數組就可以解決問題了。

其他

思路上總是想著用stl好,能用stl就用stl,但是對stl瞭解的不全,什麼時候可以用什麼,不該用什麼,不熟練。stl用不了的時候,簡單的陣列也可以達到效果。

參考一下的連結,學習了。

https://blog.csdn.net/u012503639/article/details/51811647

程式碼連結

https://github.com/xierensong/learngit/blob/master/ncode/1/1.cpp