Algorithm
本周算法:136.只出現(xiàn)一次的數(shù)字
這次算法題因為受第一周算法的影響谒主,以及它的題目描述中的“你可以不使用額外空間來實現(xiàn)嗎?”软吐,于是我就采用了排序加循環(huán)比較的方式瘩将。
我的題解思路:首先,先讓數(shù)組進行排序凹耙,排序完后,進行循環(huán)比較肠仪,在每次循環(huán)開始前肖抱,我會設(shè)置一個值為false的Boolean標(biāo)記,從索引0開始异旧,將相鄰的兩個數(shù)同中間的一個數(shù)比較意述,如果相同將標(biāo)記置為false,如果不同將標(biāo)記置為true。在單次循環(huán)的最后判斷標(biāo)記,如果為true,則為答案荤崇,如果為false則繼續(xù)循環(huán)拌屏。在這里要注意兩個臨界值,首先是索引0的左邊界值术荤,及索引為length - 1的右邊界值倚喂。
Review
本周閱讀文章:“The Key To Accelerating Your Coding Skills”
這篇文章主要講述了,在學(xué)習(xí)編程的過程中瓣戚,如果去快速的通過自己編程的拐點端圈,通過這個拐點之后,自身的變成技能將會得到質(zhì)的提升子库,但是在這個階段時舱权,會經(jīng)歷很多讓你覺得很艱難的事情,甚至讓你想放棄仑嗅,但只要堅持下來宴倍,就一定可以通過的。
Tip
受本周算法的影響仓技,我發(fā)現(xiàn)了二進制數(shù)真的很神奇鸵贬,我自己的題解耗時9ms,但是使用二進制的異或運算竟然僅僅花費1ms浑彰。但是細想恭理,這也合情合理,畢竟計算機本身就是二進制郭变,這就是計算機最擅長的事情啊颜价。
0異或任何數(shù)=任何數(shù)
1異或任何數(shù)-任何數(shù)取反
任何數(shù)異或自己=把自己置0
Share
啟發(fā)很大,必須分享诉濒!
The Key To Accelerating Your Coding Skills