2022年12月14日 星期三

[912] Sort an Array

拿來練習merge sort 但看起來迴圈太多?! XD
先存一個超時的版本:

2022年12月12日 星期一

[2089] Find Target Indices After Sorting Array

拿來練習bubble sort的一題~
沒想到它居然還可以用一種叫做counting sort的方法!
就是說已經知道我要找的target是某個值,
那只要去算(1)比它小的數有幾個 跟(2) 它自己---也就是跟它一樣大的---有幾個,
這樣就可以算出index 了 !!!amazing !!!

[147] Insertion Sort List

不得了!!!
竟然只有卡了一個while 比完大小忘記break,
其它的一次ok !!! 我要落淚了我
雖然好像沒有很快,但是管它的 XD

[155] Min Stack

先用無腦線性search 寫了一個XD

2022年12月10日 星期六

[622] Design Circular Queue

ㄟ...因為一直被問linked list 的問題,所以這題就用linked list 動態alloc memory 來寫了
但就變成 (1)速度沒有直接一個int array來的快 (2) 動態allocate memory 那就不知道rear 到底要幹嘛了....?! 雖然還是可以每次都把 rear->next 指去head ,但感覺跟題目說的 "前面會有空出來的queue可以使用" 好像不太一樣?___? 因為每次dequeue 都是直接delete 掉head node啊,不
會有空出來的queue 這種東西?! 總而言之XD

2022年12月2日 星期五

[771] Jewels and Stones

騙題數again ?!

[551] Student Attendance Record I

可愛的題目~(心)

[1884] Egg Drop With 2 Eggs and N Floors

ㄜ.......感覺尷尬XD
其實還是無法好好的解釋為什麼這樣可以 !?
總之找了一個規律然後憑感覺寫?!XDDDDD

[1806] Minimum Number of Operations to Reinitialize a Permutation

嗯~~~好吧~既然題目Hint都說了,可以用暴力解 XD
那就先這樣吧(逃走)

[560] Subarray Sum Equals K

ㄜ.........暴力法先放一版?!(當然超時XD)
一開始沒發現它可能有負數,還很開心的sorting  XD
真是太天真了啊~~~~(搖食指)

[763] Partition Labels

邊看答案邊寫的QQ
感覺自己陷入慌亂~不然應該可以自己寫出來的>< QQ

2022年12月1日 星期四

[2095] Delete the Middle Node of a Linked List

其實我不知道為什麼我想要精簡卻寫出好長一串.........
好像先算出總長,來找出next 要跑幾次比較好嗎XD
不會因為想要一次塞進去結果反而多了好多判斷式><
霸特Q心慌亂~這題就先降子吧(擦汗)

[1838] Frequency of the Most Frequent Element(TBD)

奇怪XD
題目感覺不難,但是寫不出來  XD
莫非這就是sliding window 的精髓嗎!!!
看了別人的解法並且想了半天,感覺是個現場完全想不到的寫法XD
GG QQ

2022年11月30日 星期三

[2349] Design a Number Container System(TBD)

這一題真的可以用C 寫嗎XD~
好吧我好像有點偷吃步,貌似要用linked link ?!  
這題沒有人用C寫過XD 只好看別題類似的, 發現原來malloc的時候多給了一個pointer (?)
但~~~單獨跑一個測資可以過,連跑到第三個就掛了
但是把第三個搬去單獨跑也是可以的?!

好吧亂弄ㄧ通之後,我想index 還是要hash 一下~不然count數目和index 其實沒有關係XD
例如: 只塞一個index是1000000的值,但它的count 是 1  XD
間先醬~~~無法思考啊啊啊~~~~~(國劇甩頭)

[2126] Destroying Asteroids

ㄜ...看了Hint 才會寫的,不然原本有點不知道該怎麼下手?!
是在一個無法思考的狀態 Orz

[2475] Number of Unequal Triplets in Array(TBD)

暴力法是這樣~~~

2022年11月29日 星期二

[559] Maximum Depth of N-ary Tree

雖然有覺得可以用自己一個遞迴就寫出來,但還是卡卡的,用了一個current 去多存目前的深度;

[367] Valid Perfect Square

啊~感覺又是一個數學的問題啊 XD~~~~
邊界值一直搞不定
可能是我現在有點不想思考的關係><

[1637] Widest Vertical Area Between Two Points Containing No Points

給一組(x,y), 雖然題目寫了一段,但意思就是求兩兩x 之間的最遠距離, y可以完全不管。
所以偷吃步就是~~~弄一個x array出來做sorting XD 但這樣當然慢一點

[2287] Rearrange Characters to Make Target String

是easy的題目,感覺有小小的陷阱  XD
但大致上是給人好心情的題目:P

2022年11月26日 星期六

[45] Jump Game II

其實還是沒有很懂T_T 頭好昏
大概是說,有一個max 會存當前這個range裡面可以跳去最遠的地方
比方說 nums = [2,3,1,1,4] 從nums[0] 的2 開始, max jump 是0+2 =2 ; 
那麼right 設成2 . 接著要來看這兩步裡面, 分別可以跳到多遠?
所以nums[1] 的3 加上自己的index 1 =4 ; 這時max jump 已設成4 . 
但是right 還沒有到(right =2 ),我們還沒有看完這個range 的每一步.
下一個nums[2] index 2 加步數 1 =3 , 小於max jump. 所以maxjump 目前仍是四. 
此時right是2 , 已經到了, 表示前一輪的range 檢查完了, 這時可以跳去最遠的地方存在maxjump
right  就更新成maxjump (why?!XD)

for回圈裡面接下來要看nums[3] , index 3 可以是從index 1的3過來, 也可以是index 2的1 過來
因為他們都不會比max jump 大,所以就繼續看下一個index
到四的時候因為right =4了, 更新跳的次數, (和 maxjump , 不過因為已經是array 尾巴了,它再跳去哪在此時也沒有意義了. )

[334] Increasing Triplet Subsequence

先來一個超過時間的版本嗎XD

[409] Longest Palindrome

感覺好像是有點空虛的題目XD
就純粹算數的感覺?!並且最後有一點點偷吃步 (扮鬼臉)

2022年11月25日 星期五

[740] Delete and Earn

奇怪,無法把它推論到house robber上!還想說是不是要三個數字group在一起判斷
我是不是天選之人~專門看不懂DP? T—T
明明他們就是一模一樣的題目><
選max 跟算total 可以合在一個loop裡,只是hash 就必須先開很大,
看喜歡哪一種XD

[213] House Robber II

結果想的太複雜Orz 把自己整死Orz
原來變成circle 只要考慮從 第一間到倒數第二間  跟第二間到最後一間
這樣就可以了!!!

2022年11月24日 星期四

[82] Remove Duplicates from Sorted List II

雖然邊看著世足賽邊寫還可以前前後後把它寫出來
但是真的面試的時候又會腦袋一片空白吧.....(眼神死)
先放個初版

[746] Min Cost Climbing Stairs

竟然被macro 整到,覺得不開心XD 記得前前後後括號都要給它括好括滿!!!

[1137] N-th Tribonacci Number

DP特訓,START!!!
這題沒什麼懸念吧XD 就是index 的邊界要注意一下~等於也要包進去才行。

2022年11月22日 星期二

[1539] Kth Missing Positive Number(TBD)

寫了算是暴力解~~~O(n)
如果有回來optimize 再寫成O(logN)  XD
彷彿好像應該要用到binary search~

[1437] Check If All 1's Are at Least Length K Places Away(TBD)

寫了一個很醜的答案,然後發現其實只要幾行就好了?! (泣)
用一個 last 去存上一個1出現的index , 然後遇到下一個1 就相減求出它們的距離,
並把last 更新的現在的 1. 初始值last 設為負一,這樣也可以考慮進去開頭是0的情況. 
(開頭是0 的部份,不管它有幾個0都可以不必計入。尾巴的零也是一樣;但基本上尾巴的0可以忽略不計(?!)

有想到的話再回來寫精妙版本XD

[1047] Remove All Adjacent Duplicates In String

暴力法超過時間了XDDDDD
偷看一下答案原來要用stack QQ

[442] Find All Duplicates in an Array

第一版!!!
竟然忘了count++ 真是太蠢了= = 
更新:後面看一看除了先sorting 以外好像也沒什麼特別的(thinking圖)
那就先這樣好了XD~~~

[97] Interleaving String (TBD)

這題沒寫完啊!!!
但是今天不是DP的心情QQ
在這邊紀錄一下目前心得:
原本想說要先把S1的字母從S3拿掉,這樣剩下的再拿來跟S2照順序比對,
看是不是也可以每個字母都match,但這樣做的問題是,
拿S1掉的時候,如果字母有重覆出現,無法確定該拿前面的或後面的,
因為拿前跟拿後會影響下一步的 S2 比對的順序,可能原本true的就變成false了!!!

[80] Remove Duplicates from Sorted Array II

竟然一次 AC medium的題目,我的眼淚都要噴出乃惹~~~~
似夫有加速的方式~用一個source 的index 跟target 的index (咦不是同一個array嗎XD)
彷彿雙刀俠的概念?!(好啦two pointers)
然後一路檢查目前要決定要不要寫入的這個值, 和index-2 的值一不一樣?!
因為array是非遞減(non-decreasing order )並只能最多重覆兩次
所以檢查index-2的值就足夠了!若是已經重覆第三個以上, 那麼就不寫入. 
最後就是回傳新的numsSize 囉

2022年11月21日 星期一

[2006] Count Number of Pairs With Absolute Difference K

先貼個暴力解.......

[1679] Max Number of K-Sum Pairs

Two sums 系列題連發?!
一次解完,開薰XD

[2351] First Letter to Appear Twice

這題目也太開心了吧 XD~~~
越新題號的寫C人數越少XD
這該說是時代的眼淚嗎QQ

[263] Ugly Number

使人開心的題目again ?!
搞了recursive 好像是比別人快一點?!(但有可能是幻覺XD)
總之自己寫的就是開心~~~~~~
另外我一直以為這題我寫過了,原來我寫的是happy number 嗎XD
那還有sad number 或 pretty number 嗎 XD

[2395] Find Subarrays With Equal Sum

看錯題目的意思,想了很久!!!
原來它的兩兩相加必須是連續的。
暴力法如下:

2022年11月20日 星期日

[463] Island Perimeter

真是使人開心的題目~(大心)
不過一開始忘記把 == 0 的情境拿掉了 XD

[704] Binary Search

奇怪,怎麼可能沒寫過binary search ?!
重點在於要不要加等於XD(苦笑)

[24] Swap Nodes in Pairs

奇怪...在外面寫的時候就卡住超久Orz
1,2,3,4 應該變成 2,1,4,3 但是一直出現2,1,3 
第二組的head一直無法更新>< 也就是新的1 沒辦法往後指到4 !
要用一個pre pointer 去存一下

[205] Isomorphic Strings

看起來不難但是一直寫不出來 囧
寫出來之後又比人家慢很多?!
搞半天竟然是!!!for 裡面的 strlen(s) 要搬出來外面先存一個len ?!?!?!
我還以為for的第一行只做一次, 後面只有加加或減減而已QQ
真是未夠班啊.......

[120] Triangle

雖然感覺用recursive 可以做出來但是不意外的卡住XD
看C 可以用下面這個解法,從倒數第二層,去算它跟它的下一層相加的min, 然後就把自己改成相加的min 值,這樣一路往上把值passing 上去, 最後top/root 就會存了最小相加值了!!!
但是感覺這是一個暴力窮舉法嗎?貌似不是DP?! (thinking 圖)

[229] Majority Element II

感覺還是卡卡的!!!而且初始值的部分總是沒考慮好>< 
最後corner case 就掛了!

[169] Majority Element

奇怪我看我的submit 紀錄有送過AC,但是部洛格裡面沒有寫XD
怎麼會這樣呢 ?(thinking 圖)(可能是貼別人的扣跑跑看嗎XD)
也好,又看了一個新的解法!

[167] Two Sum II - Input Array Is Sorted

在那邊想說要用binary search !!!
笑我自己傻ToT

2022年11月19日 星期六

[977] Squares of a Sorted Array

直覺寫起來沒啥問題~因為時間晚了對於optimize 有點腦空XD
是以看了解答,原來要用兩根pointer~~~~
應該在白天頭腦清醒的時後可以想到吧XD 

[2432] The Employee That Worked on the Longest Task

想說搞一個check 去存後減前,省的在if /else 的時候一直去算,但感覺也沒有比較快XD 還多我兩行!可惡XD
另外就是有相同解的時候要回傳index 小的那個, 寫到後面就忘記它了 囧

[583] Delete Operation for Two Strings

感覺跟[1143] Longest Common Subsequence是一樣的題目?! 果不其然XD
所以就先貼過來用了 XD
長度的算法是各自的長度減去共同的長度再相加, 而不是總長(A+B)再減common 喔XD

另, 因這題不用考慮回傳值是不是要 allocate , 就把array 用固定值設好然後memset 設成0 就好了,速度會比較快~~~~(咦算是加速了1143 題嗎XD)

[1403] Minimum Subsequence in Non-Increasing Order

感覺又多了贅步了!!!但我有點不懂為什麼XD~~~~(抱頭)
先這樣子吧...(真的可以這樣嗎XD)

[376] Wiggle Subsequence

感覺好像沒有很漂亮但是也沒有不行吧 XD(自我安慰)
最開頭要做初始是up or down 的檢查,最後回傳up跟down 互換了幾次再加一!因為是回傳node 數. 

2022年11月18日 星期五

[2374] Node With Highest Edge Score

感覺不難的題目~可是會超過INT大小就很討厭XD

2022年11月17日 星期四

[2273] Find Resultant Array After Removing Anagrams

好像贅步很多again !!!
最後一個element 要考慮進去~
應該要可以寫進迴圈裡嗎?!
但是還是先這樣吧XD(又?!XD)

[1887] Reduction Operations to Make the Array Elements Equal

原來不用檢查最小值嗎XD  反正就是有diff 的時候, 要去算它到最後面(array size)會降幾次
這樣加完就會是正確答案了!(可畫個圖來理解)
沒想到寫完送出就accept了, 覺得感動!!!(痛哭)

[1324] Print Words Vertically

陷阱很多的題目!
不能只是單純的算出row跟column 然後暴力malloc 就好了
每行row 的最後面空白還要拿掉!!!
雖然應該有機會在一個回圈裡面做完, 
但現在有點腦死XD 先貼個全部做完以後, 再每行把尾巴空白拿掉的版本
另外pointer to pointer 雙層array, 如果每行row 是指去一個 char array 的話
都要多一個字元存\0 , 慎之!!!

2022年11月16日 星期三

[1497] Check If Array Pairs Are Divisible by k

有一點微妙的題目Orz
自以為很認真思考的在指上畫了好幾個二維矩陣想找出規律
結果跟DP 一點關係都沒有哈哈哈~~~(笑著流淚)

[1143] Longest Common Subsequence

看起來是很基本的DP
我還是砍掉重練吧(倒地)

[1576] Replace All ?'s to Avoid Consecutive Repeating Characters

感覺很累贅XD
一下要檢查是不是頭, 是不是尾, 然後又要檢查是不是連續兩個問號, 
感覺這就是一題看你有沒有考慮各種邊界值的問題?!(嗎XD)

[1629] Slowest Key

感人XD 令人心情好的題目again~~~(灑花奔跑)

2022年11月15日 星期二

[965] Univalued Binary Tree

令人心情好的題目XD

[2325] Decode the Message

奇怪我有一種一失足成千古恨的感覺XD
究竟~~~是要存char , 還是要存int 呢!!!
一開始覺得是char, 後來不知為啥又改成了int, 是不是反而多此一舉啊哈哈哈 XDDDD
先貼個目前的版本

[2270] Number of Ways to Split Array

好吧看起來left sum (or prefix sum?!) 真的是一個很常用的技巧呢QQ
桑心啊XD

[1991] Find the Middle Index in Array

說是跟724一樣的題目嗎~
結果我還是不會寫
我是不是很笨啊屋屋屋

2022年11月13日 星期日

[88] Merge Sorted Array

這題其實寫過了~
拿來抱佛腳複習quick sort 囧

密笈?!

咳咳咳...

[2331] Evaluate Boolean Binary Tree

奇怪為何別人的總是比較快....(?)
總之是一題送分題QQ

2022年11月12日 星期六

[152] Maximum Product Subarray(TBD)

我完全誤會題目的意思了.....如果輸入值都是正數的話, 我原本的寫法應該是對的? >< 
該說是考慮的不夠嗎?傷心啊QQ
另外, 原來用#define寫的MAX, 不能在一行裡面call兩次?!

2022年11月11日 星期五

[322] Coin Change

費了九牛二虎之力~終於有一丁點懂了~於是寫(x)模仿(o)了一個先sorting 的版本

2022年11月10日 星期四

[71] Simplify Path

彷彿真的很慢XD
啊...........
看來是要用ptr 自體copy比較快嗎?!(thinking圖)
不管如何, 先這樣XD

[108] Convert Sorted Array to Binary Search Tree

今天狀況好糟~(吶喊臉)
我該怎麼辦QQ

2022年11月9日 星期三

[389] Find the Difference

什麼原來沒有要sorting嗎 XD
是我想的太難了嗎~~~~(抱頭)

[914] X of a Kind in a Deck of Cards

什麼~~怎麼會有最大公因數這種東西~~~>< (抱頭)
搞的有點久 ><! 而且還有陷阱 >< !
人生好難數學好難>< 

[11] Container With Most Water (TBD)

彷彿是個暴力解的東西?!
如果不是暴力解, 那我看不懂XDDDD (被毆飛)
這個完全是對著別人的解答寫的QQ 前進下一題

2022年11月8日 星期二

[2441] Largest Positive Integer That Exists With Its Negative

當然是給它先sorting一下啊XDDD
然道不是用sorting 做嗎XD(被毆飛)

[423] Reconstruct Original Digits from English

有點奇怪的題目(thinking圖)
跑出來的時間更是奇怪XD
但是算了~(每題都算了~這樣可以嗎XD)
時間寶貴~趕緊前往下一題XD

[303] Range Sum Query - Immutable

太奸詐了!!!原來不是要存原本的array 是嗎!!!

[58] Length of Last Word

ㄜ這個題目........
先把尾巴的空格拿掉, 再繼續往前去算新的長度?!
感覺有點偷吃步XD
and 應該可以在一個回圈解掉?!
但是吃飯時間到了先這樣XD

2022年11月7日 星期一

[1380] Lucky Numbers in a Matrix (TBD)

ㄜ....先來貼個第一版(?!)
感覺再冷靜想想可以把它用一個雙層迴圈解掉而不是兩個?!

[74] Search a 2D Matrix

感覺是不是可以用雙向binary search 呀 ?!
好麻煩額~~~(滾來滾去)

[328] Odd Even Linked List

啊好像還可以更精簡啊...(遠目)
奇怪linked list 總是有一種礙手礙腳的感覺><
一開始想的太難了!想說是要一邊接起來然後就互換這樣
其實只要把偶數Node 想成另外接, 最後再整個接去前半的尾巴就好了

[621] Task Scheduler

好吧其實我真的沒有很懂這題......
應該是~~~
1.  bottleneck一定是出現最多次的task
2. 把這個task剛cooling time當成一組, 去算最少的"加上idke"的時間長. 
3. 最後考慮當出現最多次的item 超過一個的時候, 表示它會往後面長出尾巴(XD)
4. return 值是上面算出來的, 跟 原本的task 長度, 取大的 !(因為當task 超多組的且IDLE 很小的時候, IDLE 根本不重要?!)

2022年11月6日 星期日

[33] Search in Rotated Sorted Array(TBD)

啊~~寫到生氣啊!!!(鼻孔噴氣)
想說都已經return 了還無窮迴圈是我見鬼了嗎?!
原來是無窮迴圈在後面的測資嗎?!吼~~~~~~~~~!!!
無法惹, 今天到此為止吧Orz

[1029] Two City Scheduling

是一個獲得 IDEA 並且死背qsort 後可以簡單寫出的一題
但我不敢想像沒有獲得IDEA的時候會有多焦慮  XD
如果要求return是哪幾個人去A , 哪幾個人去B , 用C 寫起來就會變得很麻煩吧我想...(?)

2022年11月5日 星期六

[268] Missing Number(TBD)

這個太奸詐了吧!!!
居然有先算總階乘再一個一個扣掉, 留下遺失的美好~喔不是, 是遺失的那個數字!
感覺也可以寫出來吧但是現在我想只放我最初的寫法就好XD
放一個令人失落的TBD  XD!

[993] Cousins in Binary Tree

感覺沒什麼秘技?!就是要多加一個parent 的紀錄
看是要跑兩次function check 還是要用一個global 紀錄parent ?!
或是用structure宣告一個typedef 是存parent and depth
總而言之呢~~~~
一開始求高度很快就寫好了~要加parent check 卡了一下. 以上

2022年11月4日 星期五

[61] Rotate List

ㄟ~~~嗯~~~該說什麼好呢XD
奇怪我好像總是有多餘的檢查在回圈裡面?!
但是因為很快就accept了所以不想再追究了(遮臉)
C 真是 Linked list 的好朋友啊~~~~~

[23] Merge k Sorted Lists(TBD)

好吧就把今日命名為湊題數之日好了.....
湊著湊著湊了一個hard , 而我懶得再去看更多解法了(被歐飛)
簡單說就是先把mergeTwoLists 再寫一遍然後拿來用QQ

[226] Invert Binary Tree

賺題數again...
偷看解答以後是個開心的打完收工 XD

[222] Count Complete Tree Nodes(TBD)

賺題數?!用recursive 寫法居然這麼簡單?!(大驚)
但是題目說 : Design an algorithm that runs in less than O(n) time complexity.
這邊完全不瞭要如何達成 XD

[876] Middle of the Linked List

什麼我竟然除了compile error 之外一次就accept 了嗎!!!
太感人~~~~~~~

[1616] Split Two Strings to Make Palindrome

其實我自己寫的很醜?!(遮臉)
看了別人的寫法, 啊原來可以精簡成這樣啊(恍然大悟貌)
真糟糕XD 我的code 有好多 check point
而且突然大驚的發現原來break 的話, for 的index 不會加加嗎>< 
難道本來就這樣嗎XD~~~~~(倒退五十萬步)

2022年11月3日 星期四

[237] Delete Node in a Linked List

覺得這一題並不難?(thinking 圖)
歸在medium感覺有點意外!賺到一題的fu
(但彷彿妳的思考邏輯寫出來的code的確是把它變成medium了嗎XD)
原來可以用一個pointer 就完成!!!真是博大精深的codgin 世界啊~~~(遠目)

[43] Multiply Strings

字串版的數字相乘...
寫完覺得我不但不會寫扣, 我還不會做乘法吧 (倒地)

2022年11月2日 星期三

[14] Longest Common Prefix

啊~你問我為什麼要先找最小長度, 我不知道吶~哈哈哈~~(被毆飛)
直覺寫法: 

[54] Spiral Matrix (TBD?!)

應該要來一個好看一點的寫法的
但是這題花太多時間了
先這樣吧哈哈哈~~~(逃走)

2022年11月1日 星期二

[202] Happy Number

原來最後有這個偷吃步的方法XD 也太happy了吧!!!
先貼一下結果,細節等我把龜兔賽跑寫完再來繼續XD

2022年10月30日 星期日

[724] Find Pivot Index

ㄟ~感覺應該有更簡單的解法?!
速度每次submit 都差蠻多的@—@
還有如果不能printf 我應該無法寫對吧哈哈哈 XD
這個try & error 的習慣要怎麼改.......Orz
最後, return 前應該要free吧.以上兒....

[1480] Running Sum of 1d Array

什麼原來可以蓋掉原本的array直接回傳就好了嗎!

2022年10月29日 星期六

[1395] Count Number of Teams

又到了覺得自己不會寫扣的時候!
原來只要紀錄每個單兵左邊比較小的個數和右邊比較大的個數然後相乘他們再加起來就好了嗎!
寫程式真難Orz (其實是數學真難嗎QQ)

2022年10月26日 星期三

[849] Maximize Distance to Closest Person

不好玩, 我覺得我不會寫扣Orz
應該要再重寫一次啊(嘆氣)

[92] Reverse Linked List II

寫了一整天, 這絕對不是可以接受的時間啊哈哈哈哈哈~~~(奔入雨中)

2022年10月25日 星期二

[833] Find And Replace in String

真的很棒, 寫完這題我懷疑我真的會string or pointer 嗎.....(倒地)
以這個出錯的頻率, 應該要450分鐘才寫的完吧(搥牆)
不過看看C的submit , 發現大家都寫很長XD
我感到安慰  XDDDDDD

[153] Find Minimum in Rotated Sorted Array

找rotate array 的min
實在是好想linear search 找一輪return喔哈哈哈哈哈~(被出題者毆飛)
邊界值許多陷阱而我還在try & error 啊是不是砍掉重練好呢QQ

2022年10月24日 星期一

[100] Same Tree

啊真不愧是easy ?!
但頭還是昏昏的,  and 跟or 還是會寫錯呢~~~(攤手)

[41] First Missing Positive

其實我覺得我沒有很確定我在寫什麼(?!) 
雖然是一題Hard, 差了一個判斷式真的差很多QQ
覺得sad  XD~~~~~~~

[230] Kth Smallest Element in a BST

啊.......無法靜下心來思考啊啊啊啊啊~~~~(抱頭在地上滾來滾去)
用一個index紀錄,跑到第k個的時候就停止兒~~~~
因為是DFS的關係(吧)所以會從最小值開始return, 因此用index來紀錄可!

2022年10月23日 星期日

[98] Validate Binary Search Tree

其實我真的不會寫扣吧......
就算安慰自己這是暖身題, 還是覺得.......嗯....
好吧我不說了 XD

2022年6月18日 星期六

[1748] Sum of Unique Elements

有一種偷吃步的感覺!
但應該是用時間換取空間吧~(攤手)

[796] Rotate String

照例逃避了現實?!但竟然PASS了而且很快啊XD
很醜沒錯!但是不能接受把s 複製一次在後面然後找goal 在不在它裡面啊>< 
這感覺就是偷吃步啊屋屋屋
我愛C , C 愛我啊 >< (但好像只有easy C 愛我吧屋屋屋)

2022年6月16日 星期四

[416] Partition Equal Subset Sum (TBD)

抄別人的還debug 了半天, 天啊我的前途真的很堪慮 ToT
最後, 別人以前可以的code, 現在超過時間了XDDDD
崩潰~~~~~~

[392] Is Subsequence

居然這麼歡樂!!!好吧它的確是easy XD
但感覺寫的有點醜>< 

2022年6月13日 星期一

[238] Product of Array Except Self

其實我不知道這題發生了什麼事, 我需要抽根菸冷靜先~(山頂吹風)

[83] Remove Duplicates from Sorted List

唉,我愛easy easy 愛我啊T.T
刪掉重覆的linked list node
其實可以寫的非常短!
不過就完整步驟還是應該要好好的delete or 設成NULL 才對(吧)

[qsort] Just quick sort

嗯~非常好~我連個quick sort 都不會寫啊~(痛哭)

2022年6月12日 星期日

[1753] Maximum Score From Removing Stones

這一題是medium感覺有點訝異?!我想是因為hint 有說從最大的拿掉就是最佳解的緣故, 所以首先不需要證明它了;再來是有看到強者的bit operation 解法我完全看不懂XD~~~~
附在後面再找人討論看看XD~~~ 以上.

2022年6月9日 星期四

[826] Most Profit Assigning Work (TBD)

感覺是對的, 但是會超過時間?!

2022年6月8日 星期三

[747] Largest Number At Least Twice of Others

想說是不是可以不用先找最大的, 只要沿路掃過去更新就可以了, 結果不行捏!
因為還不知道最大是多大, 這樣在乘以2 的時候就會失了準頭
好吧XD

[299] Bulls and Cows

好吧我就是個暴力法的擁護者啊XD 各種迴圈開下去一些都很happy啊XD
雖然不是很想要回想起來, 但是前老闆們總是說:  先求有 再求好
不是嗎><~~~~~~

[509] Fibonacci Number(更新)

20221124更新:
原來我當時根本不懂DP是嗎 XDDDDD(大笑)

[693] Binary Number with Alternating Bits

因為被DP跟sliding window 荼毒了兩天還寫不出來, 決定先寫個easy回覆一下自信XD
結果第一次submit 就過了!真是感人XD~~~~~看了一下討論區好像也沒什麼可以改進的, 
就這樣吧姆襪哈哈哈哈哈哈~~~~~~(有種騙題數的感覺XD)

2022年6月6日 星期一

[1436] Destination City

要找出一個只有進沒有出的城市~題目的設定蠻簡單的, 可以少考慮很多特殊case. 最直覺的想法就是把終點城市拿去全部的起點城市掃一次,如果它在別的row是起點城市,那它就不是最後的唯一終點城市了. 暴力法很快就可以寫出來, 但也是有想說那找過的可以給它mark 起來讓它不用再找了嗎?

2022年5月22日 星期日

[1545] Find Kth Bit in Nth Binary String

我覺得這題完美的詮釋了為何我不是天才是奴才T_T
完全想錯了方向!雖然覺得應該要可以呀?!(並不行~~~搖食指)
然後看了解答還覺得"蛤?!為什麼是這樣???"
最後發現submit by C 的人真的好少嗚嗚嗚

[2154] Keep Multiplying Found Values by Two

果然是easy 等級的題目?!但還是沒有辦法一次到位, 同志Q仍需努力XD


int findFinalValue(int* nums, int numsSize, int original){
    int stop = 0,i=0;
    while(!stop)
    {
        for (i=0; i<numsSize; i++)
        {
            if (nums[i]==original)
            {
                original=original*2;
                break;
            }        
        }
        if (i==numsSize)
            stop = 1;
    }
    return original;
}

有看到兩種厲害的寫法, 一是在迴圈裡面找到值之後index 就設回0 讓它continue , 感覺很beautiful !!! XD
另一個是先sorting 好, 接下來只要依次往後找, 並將original 每次乘二就好了, 新的值一定會在已sorting 好的array 後面!看到的人用了bubble sort感覺也很直覺!以上

2022年5月21日 星期六

[804] Unique Morse Code Words

覺得應該要會的題目><
malloc 和memset 的用法&放的位置一直喬不好!
刷題之路堪慮XD

2022年5月20日 星期五

[9] Palindrome Number

看一個數字是不是回文!且不要用轉成string 來做~~~~
一開始有點卡住, 因為商數不知道怎麼取出來?! 數字的長度無法預知
於是想說把最後一個數(除以十的餘數)取出來存到新的值,
新的值每次乘以十再加上取出來的餘數, 最後和原始的數字相比就可以知道是不是回文的數字版了!
看起來很完美但不意外的又卡到了MAX INT  XD
寫了一個很笨的判斷: 

bool isPalindrome(int x){
    if (x < 0)
        return false;
    int out=0, in = x;
    int head = 0;
    for(int i=0;i<10,x>0;i++)
    {
        if (i==9 && head >2 )
            return false;
//printf("%d,%d,%d,%d\n",i,head,out,x);
        out = out*10 + x%10;
        if (out == x%10)
            head = out;
        x/=10;        
    }
        
    return (out == in)? (true):(false);
}

然後發現討論區的都用 long 在偷吃步!可惡XD
long 可以完全省去判斷 MAX INT的麻煩, 但似乎是因為long 的關係需要較多的空間. 
以空間換取時間的概念~~~

bool isPalindrome(int x){
    if (x < 0)
        return false;
    long out=0;
    int in = x;
    while(x>0)
    {
        out = out*10 + x%10;
        x/=10;        
    }     
    return (out == in);
}



2022年5月15日 星期日

[190] Reverse Bits

說是不能拿1 往左邊shift 31 個位元!說會超過int ! 
但我明明就是unsigned int 啊到底在歡什麼><
總之一開始想的從最右邊開始一個一個往左邊檢查是不太實際的
一邊做一邊把input 依續往右shift ,這樣就可以一直 & 0x1 就好了!
不需要把0x1 一路往左邊移去and XD 
啊真是很久沒寫code 變的很笨啊
以下是貼別人的依樣畫葫蘆~
如果不喜歡31往下減就從1往上加其實也沒有不行!
但要記得最後要把剩下的不需要shift 的最後一個位數加上去
換言之其實for 回圈裡面就是只有做31次啦!
做到第32 次就會爆炸!這樣看起來我原本一開始的年久失修解法其實也沒有不行啊 XD 應該就看今天的input 值能不能被修改吧. 如果input 不能改, 那也只好去shift 1 囉!以上 & 以下XD
uint32_t reverseBits(uint32_t n) {
    unsigned int i,ret=0;
    for (i=31;i>0;i--)
    {
//printf("i %d, %d\n",i ,ret);
        ret = (ret + (n&1)) *2;
        n= n>>1;
    }
    ret = ret + (n&1);
    return ret;
}

2022年5月14日 星期六

[19] Remove Nth Node From End of List

 什麼?!不需要去在意它是倒數第幾個, 是這個意思嗎?!雖然覺得pointer 應該真的有懂, 但是好多小地方沒有考慮到喔QQ (會不會這就叫做沒有懂XD) 我好笨QQ

2022年5月8日 星期日

[7] Reverse Integer

奇怪itoa 怎麼不能用呢?(thinking圖)
檢查超出範圍的部分好麻煩喔~~~(滾來滾去)
亡盪惹我真的不會寫扣啊~~~(痛哭)

int reverse(int x){
    int pop ,revInt ;
    for (pop=0, revInt=0; x!= 0; )
    {
        pop = x%10;
        x/=10;
        if (revInt > INT_MAX/10  || (revInt == INT_MAX/10  && pop > 7))
           return 0;
        if (revInt < INT_MIN/10 || (revInt == INT_MIN/10  && pop < -8))
            return 0;
        revInt = revInt*10 + pop;
    }    
    return revInt;
}

2022年5月2日 星期一

[905] Sort Array By Parity

於是我怎麼又開始寫了呢XD 已經又瞬間忘光了pointer, 感覺可以算算去啊~(痛哭)
總之這題就是說input 一個array, 把偶數都擺前面, 奇數擺後面, 順序不限~
於是就簡單的橫出一個新array, 然後邊讀邊左邊丟右邊丟, 各用一個index 加加跟減減啊覺得世界美好!但我想它應該有一個可以用原本input 做出來的方法吧.....?! (thinking 圖) 
總之先來個簡單版



/**
 * Note: The returned array must be malloced, assume caller calls free().
 */
int* sortArrayByParity(int* nums, int numsSize, int* returnSize){
    *returnSize = numsSize;
    if (numsSize <= 1)
        return nums;
    int i;
    int left = 0;
    int right = numsSize -1;
    int *retArray = (int *) malloc(sizeof(int) * numsSize);
    for (i=0;i<numsSize;i++)
    {
        if (nums[i]%2==0)
            retArray[left++]=nums[i];
        else
            retArray[right--]=nums[i];
    }
    return retArray;   
    
}

下面是因為忘記swap 怎麼寫了, 留存XD


/**
 * Note: The returned array must be malloced, assume caller calls free().
 */
void swap(int *a, int *b)
{
    int tmp;
    tmp = *a;    
    *a = *b;
    *b = tmp;    
}

int* sortArrayByParity(int* nums, int numsSize, int* returnSize){
    *returnSize = numsSize;
    if (numsSize <= 1)
        return nums;
    int i, left, right;

    for (left=0,right = numsSize -1; left<right;left++, right--)
    {
        for(i=left; i< right; i++)
        {
            if (nums[i]%2==0)
                left++;
            else
                break;
        }
        for(i=right; left< right; i--)
        {
            if (nums[i]%2!=0)
                right--;
            else
                break;
        }
        swap(&nums[left],&nums[right]);        
    }
    return nums;   
    
}

2022年1月22日 星期六

聽說有去北海道(五)定山渓温泉 ぬくもりの宿 ふる川-房間&周圍環境篇

最後一晚我們要去定山溪溫泉, 一樣先移動到新千歲機場,然後轉搭巴士, 
時間的安排當然沒有那麼銜接的那麼好,我們又在機場各種閒晃XD 
來一杯跟我年紀差不多~聽說來自札幌並且在機場有設櫃的宮越屋咖啡:

2022年1月16日 星期日

聽說有去北海道(四)支笏湖 .しこつ湖鶴雅リゾートスパ水の謌

五天四夜的北海道就是一個每天移動到溫泉旅館的悠閒行程~
(但事實上是移動太麻煩了總是在各種接駁車的等候中渡過)

2022年1月15日 星期六

聽說有去北海道(三)登別.瀧乃家.早晚餐篇

嗯~好喔~讓我們相隔三年的來把北海道寫完XD ?!
似乎還不一定寫的完 XDDDD 歐賣尬!!!

2022年1月9日 星期日

[台北] 稻舍Rice & Shine 誠品信義店

說起這次想想再次拾起食記的緣由, (咦其實沒人想知道原因嗎XD )
原因之一是近年來每次在網路上搜尋餐廳評價時,
清一色的業配文是沒有關係, 但是多半無法寫到食物的痛處 (是哪裡)
再來是近日看到一些有點失真的評論感到頭很痛(關妳什麼事呢XD)
比方說吃了巴斯克蛋糕說它底層的塔皮如何如何
巴斯克根本就沒有塔皮!!!NO!!!這太NG了啊啊啊啊啊~~~~(抱頭)

2022年1月2日 星期日

新的一年!

結果已經2022了嗎 XD
看來去年一整年都沒有正經的文章(咦是去年跟前年兩整年嗎 @o@)
而宣稱不想讓太貴的日本溫泉旅館連上傳的照片都忘記在哪裡想要趕快寫一寫的北海道
果不其然的沒有寫完啊哈哈哈哈哈哈哈哈哈 XD (怎麼會這樣呢?!XD )