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
佛系程序员的月薪五万指南
这篇文章是华仔写的,内容是关于怎么学习,怎么读书的,总结如下:
- 一定要挤时间学习,具体怎么挤时间我就不赘述了,其实大家都能想到,比如坐地铁的时候、晚上睡前的时候等等;
- 碎片时间系统学习;
- 看书不一定要完全记住(其实是不可能完全记住的,看书的留存率低得可怜),但是一定要坚持看;
- 最好是读纸质书,拒绝闲书,拒绝休闲、穿越;
- 看书三法:
- 第一遍细度,划出重点,做好笔记
- 第二遍扫读,一个月后,查看笔记和划的重点,加深记忆
- 第三遍忆读,半年后,只看目录,回想内容,如果回想不起来,再扫读