LC_training(3)

  1. quickSort 会写递归版本, partition不开新空间. nlogn, logn(只考虑算法运行空间,但是n个元素必然需要n的空间)

  2. mergeSort 会写递归版本, merge需要新空间, nlogn, n+logn;

  3. mergeSort 会写迭代版本, merge需要新空间, nlogn, n;

阅读更多
Quick Sort & Merge Sort

Tree BFS DFS

使用callback以及call技术, 写出标准化的BFS,DFS. 以及扩展性极强的contain.

阅读更多

LC_training(2)

易错点

  1. forEach()函数体中,无法使用return终止运行,也不能使用break,continue. 应该使用其他语法.

阅读更多

LC_training(1)

犯过的那些错误

  1. 一个专属JS的不起眼的坑!!!

    1
    2
    3
    4
    for(var i in nums){
    if(nums[i]==nums[i+1]){
    ...
    }

    上述代码中nums[i+1]结果undifined, 因为for in遍历的原理是什么呢? 其实是把nums数组当做Obejct(一个键值对结构), 其中i 是对于其key的遍历, 因此i 其实是字符串”0”, 而i+1则表示”01”, 自然是找不到结果.

阅读更多