摘要:
思路: 1. 矩阵搜索,没有规定起始位置与终止位置的时间复杂度是 O(row*col*3^k)因为要遍历每一个位置作为起始节点,由于不能访问visited,所以每一步都只有3个选择,然后最差情况走完k-1步发现不匹配 2. visited细节 1)visited 用set,而不新建一个borad或在 阅读全文
摘要:
本题与154题相同,重做一遍还是有细节问题 思路: 1. 本题需要找最小数字,在本升序数组中,需想通最小数字就是旋转点 2. 接着就是二分法 1) left,right = 0 , len(nums)-1 2) mid = left + (right-left)//2 这种写法是防止 (right+ 阅读全文
摘要:
DP: 1. 这题的解题思路来源于暴力法,对于每一点,其积累的雨水等于 min(left_max,right_max) - height[i] 2. 而对于自身就是left_max或right_max时,显然相减等于0 2. 双指针 1. 使用本方法最重要的一点是想通,从左右两端找left_max, 阅读全文
摘要:
https://www.bilibili.com/video/BV1kE411G7qo?p=13 1. I 将index转化为词向量 G 更新向量中的信息 O ouput向量 R 将向量转化为 词/句子 Memory Network 流程: 1. 我们有一些facts 向量John... Bob.. 阅读全文
摘要:
前序,中序列表构建二叉树思路: 1. 返回的是一颗二叉树,所以每一次递归都需要构建一个TreeNode 2. 构建TreeNode需要value, 前序遍历可以提供当前构建TreeNode的Val 3. preOrder[0]将中序分成左右两子树,所以递归终止条件就是 if not inorder: 阅读全文
摘要:
思路: 1. 逆序链表原来可以简单的用递归实现 2. 跳出条件是递归到链表尾部了,if not head: return [] 因为deliverable是list,所以返回空list 3. 递归路径: return self.reversePrint(head.next) + [head.val] 阅读全文
摘要:
原地修改S: 1. 这里要注意的是,每次修改完s后,s的长度要+=2,并且i的指针最好+=3,节省时间 阅读全文
摘要:
思路: 1. 如果从 (0,0)来看待矩阵,发现是 row col方向都递增,无法利用到该条件 2. 但是如果从 (-1,0)来看,则是 row方向小,col方向大,就可以比较和target的大小,比其小,则col+=1,比其大,则row+=1 阅读全文