Binary Search模板: mid 和 target 指针比较,left/ right 和 target 比较. 循环终止条件: 最后剩两数比较(while(left + 1 < right)). 循环结束后根据要求检查最后两个数(left/ right 和 target 比较). public class Solution { /** *@param A : an integer sorted array *@param target : an integer to be inserte…
题目: Two elements of a binary search tree (BST) are swapped by mistake. Recover the tree without changing its structure. Note:A solution using O(n) space is pretty straight forward. Could you devise a constant space solution? confused what "{1,#,2,3}&…
Binary Search 二分法方法总结 code教你做人:二分法核心思想是把一个大的问题拆成若干个小问题,最重要的是去掉一半或者选择一半. 二分法模板: public int BinarySearchTemplate(int[] nums,int target) { if(nums == null || nums.length == 0) return -1; int lo = 0; int hi = nums.length - 1; //A: lo < hi [1,2]找1 找last p…
Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order. You may assume no duplicates in the array. Example 1: Input: [1,3,5,6], 5 Output: 2 Example 2:…
[抄题]: Given a non-empty binary search tree and a target value, find the value in the BST that is closest to the target. [暴力解法]: 时间分析: 空间分析: [奇葩输出条件]: [奇葩corner case]: [思维问题]: 以为要用主函数+ DFS来做.错了,“最近”还是直接用二分法左右查找得了 [一句话思路]: 定义一个res,如果root离target的距离小 就替换…
[抄题]: Given a binary search tree and the lowest and highest boundaries as L and R, trim the tree so that all its elements lies in [L, R] (R >= L). You might need to change the root of the tree, so the result should return the new root of the trimmed…
[抄题]: Given a binary search tree (BST) with duplicates, find all the mode(s) (the most frequently occurred element) in the given BST. Assume a BST is defined as follows: The left subtree of a node contains only nodes with keys less than or equal to t…