ALGORITHM
暴力法
/**
* @param {number[]} nums
* @param {number} target
* @return {number[]}
*/
var twoSum = function(nums, target) {
for (var i = 0; i < nums.length; i++){
for (var j = i + 1; j < nums.length; j ++) {
if (nums[i] + nums[j] === target) {
return [i, j]
}
}
}
};
一遍哈希法
/**
* @param {number[]} nums
* @param {number} target
* @return {number[]}
*/
var twoSum = function(nums, target) {
var map = new Map()
for (var i = 0; i < nums.length; i++){
var complement = target - nums[i]
if (map.has(complement)) {
return [map.get(complement), i]
}
map.set(nums[i], i)
}
};
REVIEW
暫無,後期補上…
TIPS
&& || 賦值
動態語言有一種優雅的賦值寫法,那就是&&和||
a && b,如果a爲true,則返回b,否則返回a
a || b,如果a爲true,則返回a,否則返回b
上面的規則很好理解,不再舉例說明,如果&&和||混用會怎麼樣呢?
我們要記住,&&的優先級比||高,
eg:alert(1 && 3 || 0 && 4) 返回3
解釋:1 && 3返回3,0 && 4,返回0,3 || 0,返回3
SHARE
佛系程序員的月薪五萬指南
這篇文章是華仔寫的,內容是關於怎麼學習,怎麼讀書的,總結如下:
- 一定要擠時間學習,具體怎麼擠時間我就不贅述了,其實大家都能想到,比如坐地鐵的時候、晚上睡前的時候等等;
- 碎片時間系統學習;
- 看書不一定要完全記住(其實是不可能完全記住的,看書的留存率低得可憐),但是一定要堅持看;
- 最好是讀紙質書,拒絕閒書,拒絕休閒、穿越;
- 看書三法:
- 第一遍細度,劃出重點,做好筆記
- 第二遍掃讀,一個月後,查看筆記和劃的重點,加深記憶
- 第三遍憶讀,半年後,只看目錄,回想內容,如果回想不起來,再掃讀