Author: H.Y. Chen

  • Ferris Wheel

    看到題目就知道要用貪心,因為我們要一直找體重最接近x的人來湊, 除非>x,否則ans+=1。 除了貪心,還可以用雙指標–頭尾往中間,但是為什麼? 假設現在有一個小到大排序好list,因為一個車廂可以載最多2人,所以我們可以考慮把 “最重(right)跟最輕(left)” 放在同一車廂,盡可能的在 right-left <= x 的情況下接近x。

  • Apartments

    元想法:用雙指標類似雙迴圈去找 -> 超時,可能RE 這題比較像雙指針的同向移動,因為已經排序好了,所以可以不斷比較公寓坪數與顧客預其,太小就+1

  • Palindrome Reorder

    不是單純判斷回文,還要輸出一組回文 主要想法有下: 解

  • Coin Piles

    依次從a拿2或拿1,a,b兩堆拿的,加起來都要是3 想法 暴力解是這樣,但會超時 數學解 如果小的那邊”太小”,就沒辦法 這個解法比較好但比較想不到

  • Trailing Zeros

    一個很經典的高中數學階層問題 N! 乘積結尾有幾個0? 可觀看此影片看數學說明 簡單來說,就是要乘積結尾是0的,在質因數分解中,一定要一個5跟他前面的一個2 所以6! 乘積結尾幾個0?ANS: 1個,因為只有一個5能跟前面任意2做乘積 那 15! 呢,因為5,10,15都能貢獻一個5出來,所以乘積會有3個0 當 20! 時,結尾最多就是4個0,因為5,10,15,20都能貢獻一個5出來 那 $25!$ 的時候呢 因為 $25 = 5*5$ ,他能貢獻兩個5出來,所以25!就會有6個0在結尾 結論 結尾0的個數是根據: N能提供多少個5出來Q: $30!$ 有幾個0?ANS: $30/5=6$ ,$6/5=1$ , $6+1 = 7$ 個0 寫法

  • Two Sets

    其實主要是在考貪婪演算法 但比較需要注意的是要用unordered_set,會比較快