Course in JS

  • http://btholt.github.io/four-semesters-of-cs/
  • https://btholt.github.io/four-semesters-of-cs-part-two/
  • 包括了
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Big O
    Recursion
    Bubble Sort
    Insertion Sort
    Merge Sort
    Quick Sort
    Set | Map | Stack | Queue - Data Structures - Interfaces
    Array List | Linked List | Binary Search Tree | AVL Tree | Hash Table - Data Structures - Implementations
    Map | Reduce | Filter - functional programming
    Bloom Filters
    Tree Traversals
    Pathfinding
    Graphs
    Generating a Maze
    Tries
    Searching for an Element in an Array
    Heap Sort
    Radix Sort

    随便写写

    水仙花数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
const n = 150
const m = 158
let rangeStart = n
let rangeEnd = m
let isIn = (element) => {
let arr = element.toString().split('')
arr.unshift(0)
let res = arr.reduce((prev, cur) => {
return prev + Math.pow(Number(cur), 3)
})
if (res == element) {
return true
} else {
return false
}

}
let getNarc = (rangeStart, rangeEnd) => {
let arrayIn = []
for (let index = n; index <= m; index++) {
if (isIn(index)) {
arrayIn.push(index)
}
}
return arrayIn
};
let narcs = getNarc(n, m)
console.log(narcs)

leetcode

basic

排序(快排,选择,希尔,冒泡)
堆栈,队列,链表 递归~~~本质,终止条件,参数的传递
波兰式和逆波兰式(1+2/3)

Stack && Queue[kju:]

  • Stack - FILO - Array || Linked List
  • Queue - FIFO - Array || Doubly Linked List
  • MQ
  • www.bigocheatsheet.com - time|space complexity

20 合法括号

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function isValid(s: string): boolean {
let stack : Array<string> = []
const parent_map : Object = {
')': '(',
']': '[',
'}': '{'
}
for(let i = 0; i< s.length; i++) {
if(!parent_map[s[i]]) {
stack.push(s[i])
} else if(stack.length === 0 || stack.pop() !== parent_map[s[i]]) {
return false
}
}
return stack.length === 0
}
1
不讲武德解法,一旦遇到(),{},[] 就用replace到空串,do while,哈哈哈哈,复杂度高点

232 225 栈和队列的彼此实现

adjacency Matrix

经典排序算法

-