Binary Search
文章平均质量分 59
Bryan要加油
这个作者很懒,什么都没留下…
展开
-
69.Sqrt(x)
Implement int sqrt(int x).Compute and return the square root of x.class Solution {public: int mySqrt(int x) { int left = 1; int right = x >>1; int mid; int原创 2015-06-26 16:01:50 · 565 阅读 · 0 评论 -
50.Pow(x, n)&数值的整数次方
Implement pow(x, n).分治法class Solution {public: double pow(double x, int n) { if(n < 0) return 1.0/power(x,-n); else return power(x,n); }原创 2014-03-12 16:42:46 · 668 阅读 · 0 评论 -
33. Search in Rotated Sorted Array
Suppose a sorted array is rotated at some pivot unknown to you beforehand.(i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).You are given a target value to search. If found in the array retur原创 2015-06-08 14:49:08 · 715 阅读 · 0 评论 -
找出字符串
Problem有一个排过序的字符串数组,但是其中有插入了一些空字符串,请设计一个算法,找出给定字符串的位置。算法的查找部分的复杂度应该为log级别。 给定一个string数组str,同时给定数组大小n和需要查找的string x,请返回该串的位置(位置从零开始)。 测试样例: [“a”,”b”,”“,”c”,”“,”d”],6,”c” 返回:3Solution如果没有空字符串,就可原创 2016-05-17 21:10:49 · 411 阅读 · 0 评论 -
74.Search a 2D Matrix&240. Search a 2D Matrix II
Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following properties:Integers in each row are sorted from left to right.The first integer of each原创 2015-06-27 13:58:20 · 557 阅读 · 0 评论 -
叠罗汉I&叠罗汉II
Problem叠罗汉是一个著名的游戏,游戏中一个人要站在另一个人的肩膀上。同时我们应该让上面的人比下面的人更高一点。已知参加游戏的每个人的身高,请编写代码计算通过选择参与游戏的人,我们多能叠多少个人。注意这里的人都是先后到的,意味着参加游戏的人的先后顺序与原序列中的顺序应该一致。 给定一个int数组men,代表依次来的每个人的身高。同时给定总人数n,请返回做多能叠的人数。保证n小于等于500。原创 2016-05-17 21:30:22 · 2850 阅读 · 0 评论 -
275. H-Index II
ProblemFollow up for H-Index: What if the citations array is sorted in ascending order? Could you optimize your algorithm? Solution看了讨论区,还是没想明白二分查找的判断条件。//没想明白 class Solution {public: int hIndex原创 2016-04-23 16:27:37 · 396 阅读 · 0 评论 -
278. First Bad Version
ProblemYou are a product manager and currently leading a team to develop a new product. Unfortunately, the latest version of your product fails the quality check. Since each version is developed based原创 2016-05-09 22:43:52 · 366 阅读 · 0 评论 -
230.Kth Smallest Element in a BST
Given a binary search tree, write a function kthSmallest to find the kth smallest element in it.Note: You may assume k is always valid, 1 ≤ k ≤ BST's total elements.Follow up:What if the原创 2015-07-02 16:02:34 · 579 阅读 · 0 评论 -
4. Median of Two Sorted Arrays
ProblemThere are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)). Example 1: nums1 =翻译 2016-08-13 13:44:22 · 334 阅读 · 0 评论 -
魔术索引1
题目描述在数组A[0..n-1]中,有所谓的魔术索引,满足条件A[i]=i。给定一个升序数组,元素值各不相同,编写一个方法,判断在数组A中是否存在魔术索引。请思考一种复杂度优于o(n)的方法。 给定一个int数组A和int n代表数组大小,请返回一个bool,代表是否存在魔术索引。 测试样例: [1,2,3,4,5] 返回:false解答暴力法class MagicIndex {publi原创 2016-03-07 22:38:27 · 792 阅读 · 0 评论 -
34. Search for a Range
Given a sorted array of integers, find the starting and ending position of a given target value.Your algorithm's runtime complexity must be in the order of O(log n).If the target is not found原创 2015-06-08 15:03:38 · 665 阅读 · 0 评论 -
29. Divide Two Integers
ProblemDivide two integers without using multiplication, division and mod operator. If it is overflow, return MAX_INT. Solution 参考。 在这道题中,要求两个整数的商,但是不能使用除法、乘法和取模操作,所以只能使用位运算。 首先看个例子,15除以3,15是被除数原创 2016-05-12 18:54:12 · 368 阅读 · 0 评论 -
数字在排序数组中出现的次数
题目描述统计一个数字在排序数组中出现的次数。例如输入排序数组{1,2,3,3,3,3,4,5}和数字3,由于3在这个数组中出现了四次,所以输出4。解答给定的数组是排序的,所以很自然地想到二分查找。在题目给出的例子中,我们可以先用二分查找找到一个3。由于3可能出现多次,所以我们找到的3的左右两边都可能有3。因此我们在找到的3的左右两边顺序扫描,分别找到第一个3和最后一个3。因为要查找的数字在长度为n的原创 2016-02-19 10:11:19 · 310 阅读 · 0 评论 -
数字在排序数组中出现的次数
题目描述统计一个数字在排序数组中出现的次数。例如输入排序数组{1,2,3,3,3,3,4,5}和数字3,由于3在这个数组中出现了四次,所以输出4。解答给定的数组是排序的,所以很自然地想到二分查找。在题目给出的例子中,我们可以先用二分查找找到一个3。由于3可能出现多次,所以我们找到的3的左右两边都可能有3。因此我们在找到的3的左右两边顺序扫描,分别找到第一个3和最后一个3。因为要查找的数字在长度为n的原创 2016-02-19 10:11:14 · 973 阅读 · 0 评论 -
153. Find Minimum in Rotated Sorted Array & 旋转数组的最小数字
题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减序列的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。解答 最直观的解法从头到尾遍历整个数组,找到最小元素。这个解法的时间复杂度是O(n)。 注意到,旋转之后的数组实际上可以划分为两个排序的子数组,且前面的子数组的元素都大于或者等于后原创 2016-02-24 20:15:26 · 490 阅读 · 0 评论 -
81. Search in Rotated Sorted Array II
Follow up for "Search in Rotated Sorted Array":What if duplicates are allowed?Would this affect the run-time complexity? How and why?Write a function to determine if a given target is in the原创 2015-06-29 15:57:40 · 408 阅读 · 0 评论 -
二分查找与STL中的lower_bound(),upper_bound(),binary_search()
lower_bound() lower_bound()是二分查找的一种,在已排序的区间[first,last)中寻找元素value。如果[first,last)中有与value相等的元素,便返回一个迭代器,指向其中第一个元素。如果没有这样的元素存在,便返回“假设这样的元素存在时应该出现的位置”。也就是说,它返回一个迭代器,指向第一个“不小于value”的元素。如果value大于[first,las转载 2016-04-29 11:10:06 · 1268 阅读 · 0 评论 -
35. Search Insert Position
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.原创 2015-06-08 15:37:55 · 652 阅读 · 0 评论 -
300. Longest Increasing Subsequence
Given an unsorted array of integers, find the length of longest increasing subsequence.For example,Given [10, 9, 2, 5, 3, 7, 101, 18],The longest increasing subsequence is [2, 3, 7, 101], theref原创 2016-01-19 21:04:57 · 569 阅读 · 0 评论 -
162. Find Peak Element
ProblemA peak element is an element that is greater than its neighbors.Given an input array where num[i] ≠ num[i+1], find a peak element and return its index.The array may contain multiple peaks, in th原创 2016-04-25 21:17:25 · 482 阅读 · 0 评论 -
209.Minimum Size Subarray Sum
Given an array of n positive integers and a positive integer s, find the minimal length of a subarray of which the sum ≥ s. If there isn't one, return 0 instead.For example, given the array [2,3原创 2015-06-30 11:47:56 · 605 阅读 · 0 评论 -
222. Count Complete Tree Nodes
ProblemGiven a complete binary tree, count the number of nodes.Definition of a complete binary tree from Wikipedia: In a complete binary tree every level, except possibly the last, is completely fill原创 2016-05-12 11:20:42 · 497 阅读 · 0 评论 -
魔术索引2
题目描述在数组A[0..n-1]中,有所谓的魔术索引,满足条件A[i]=i。给定一个不下降序列,元素值可能相同,编写一个方法,判断在数组A中是否存在魔术索引。请思考一种复杂度优于o(n)的方法。 给定一个int数组A和int n代表数组大小,请返回一个bool,代表是否存在魔术索引。 测试样例: [1,1,3,4,5] 返回:true解答 如果数组的元素有重复,魔术索引1中的方法就会失效。原创 2016-03-07 22:48:05 · 625 阅读 · 0 评论