2019年2月28日 星期四

[leetcode][C][python] 53. Maximum Subarray

這題雖然是easy, 但是還是卡了一下,一開始雖然想到大致上O(n)的做法,但是沒有想得很透徹,寫了一堆例外處理卻一直有處理不完的case
後來重新整理一下思緒,終於將架構改得比較完整


[leetcode] 分享leetcode 的解法

最近剛好有一段空閒,想說刷一下leetcode
也順便把有跑過的code放到github上,成績較好或是想法比較有趣的部份就在blog做一下紀錄

以前寫過的部分題目當初皆用C 寫,
現在新刷的部分由於想要快速驗證想法,皆使用python3來做,有空才會再用C 寫一遍

2019年2月25日 星期一

[leetcode][python] 46. Permutations

leetcode 連結:
https://leetcode.com/problems/permutations/



這題是找出一組不重複的集合的所有排列組合


做法很簡單,使用遞迴的方式,輪流從集合內拿出不同的內容放入解答內,直到集合內所有內容被挑完,這樣解答就是其中一種可能性


[leetcode][C] 50. Pow(x, n)


https://leetcode.com/problems/powx-n/



顧名思義,這題是想自己實做pow(x, n)

最簡單的方法當然是直接把x 乘以n次,但這樣時間複雜度就變成O(n),

要加快速度,有一個做法就是重複利用已經乘過的數

舉例來說,pow(2,5) = 2*2*2*2*2 = (2*2)*(2*2不用重算)*2


[leetcode][python] 48. Rotate Image

leetcoded 連結:
https://leetcode.com/problems/rotate-image/


這題基本概念是把矩陣想成是像"回" 字形一樣一圈圈,一次處理一圈