ARTS第一周

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

佛系程序员的月薪五万指南
这篇文章是华仔写的,内容是关于怎么学习,怎么读书的,总结如下:

  1. 一定要挤时间学习,具体怎么挤时间我就不赘述了,其实大家都能想到,比如坐地铁的时候、晚上睡前的时候等等;
  2. 碎片时间系统学习;
  3. 看书不一定要完全记住(其实是不可能完全记住的,看书的留存率低得可怜),但是一定要坚持看;
  4. 最好是读纸质书,拒绝闲书,拒绝休闲、穿越;
  5. 看书三法:
  • 第一遍细度,划出重点,做好笔记
  • 第二遍扫读,一个月后,查看笔记和划的重点,加深记忆
  • 第三遍忆读,半年后,只看目录,回想内容,如果回想不起来,再扫读
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章