其实就是一个二分搜索 首先遍历LinkedList,记下链表长度 然后从mid开始, mid.left = 左部的mid mid.right = 右部的mid 依次递归,因为这相当于一个中序遍历,调用栈的最底层是从LinkedList首个元素开始的 ...
分类:
其他好文 时间:
2019-08-18 09:17:40
阅读次数:
74
其实就是一个二分搜索 mid为当前root, 然后分别用左右两个部分完成左右子树的构建 ...
分类:
其他好文 时间:
2019-08-16 09:15:10
阅读次数:
86
最低共同祖先,肯定值处于两者之间,而且是第一个这样的节点 所以就像二分搜索一样,当前节点值都大于p和q,则向左走,反之向右走 当碰到介于两者之间时,说明当前节点就是我们要找的 ...
分类:
其他好文 时间:
2019-08-16 09:13:55
阅读次数:
63
problem:https://leetcode.com/problems/find-first-and-last-position-of-element-in-sorted-array/ 经典二分搜索题。要点是改变low或high的时候把当前数字mid也包含进来,因为它也可能是结果。 ...
分类:
其他好文 时间:
2019-08-11 17:32:43
阅读次数:
65
problem:https://leetcode.com/problems/search-a-2d-matrix-ii 经典双指针二分查找题目。 ...
分类:
其他好文 时间:
2019-08-11 16:54:33
阅读次数:
81
一、树结构本身是一种天然的组织结构 将数据使用树结构后,出奇的高效。 二、二叉树 和链表一样,动态数据结构 class Node{ E e; Node left; Node right; } 二叉树(多叉树) 二叉树具有唯一根节点 class Node{ E e; Node left; <-- 左孩 ...
分类:
其他好文 时间:
2019-08-09 23:25:25
阅读次数:
118
problem:https://leetcode.com/problems/snapshot-array/ 这道题暴力做(把所有快照都存下来)会超出空间限制,因此需要减少使用空间,两次快照直接没有改变的值就无需重复记录。可以使用二分搜索,每次修改值的时候记录一下当前快照的值,然后每次查找当前下标特定 ...
分类:
其他好文 时间:
2019-08-04 15:07:23
阅读次数:
166
problem:https://leetcode.com/problems/3sum-closest/ xxsum是一个系列的题了,一般有二分搜索和哈希两种方法,这道题要求的是接近值,所以哈希就不起作用了,只能使用二分搜索。 对于排好序的数组,首先确定三个数位置在中间的那个数字,然后在它左右搜索另外 ...
分类:
其他好文 时间:
2019-08-01 11:49:26
阅读次数:
96
problem:https://leetcode.com/problems/koko-eating-bananas/ 二分搜索的一个主要难点在于确定搜索的空间。比较容易有思路的问题类型是对于已经排好序的数组查找特定数据,使用下标作为二分的搜索对象即可。 另一种稍微有一点难度的是对所有可能的解在[mi ...
分类:
其他好文 时间:
2019-07-28 20:15:57
阅读次数:
122
一、基本概念 分治法,顾名思义,即分而治之的算法,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题…… 二、基本思想及策略 设计思想:将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。 策略:对于一个规模为n的问题,若该问题可以容易地 ...
分类:
编程语言 时间:
2019-06-23 20:52:30
阅读次数:
215