![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
二分法
每天学一点!
时刻保持对知识的热情!
展开
-
69.x 的平方根
题目描述实现int sqrt(int x)函数。计算并返回x的平方根,其中x是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。思路二分思路。代码...原创 2018-11-28 18:59:12 · 203 阅读 · 0 评论 -
34. 在排序数组中查找元素的第一个和最后一个位置
题目描述给定一个按照升序排列的整数数组nums,和一个目标值target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是O(logn) 级别。如果数组中不存在目标值,返回[-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8 输出: [3,4]示例2: 输入: nums = [5,7,7,8,...原创 2019-05-19 11:51:35 · 160 阅读 · 0 评论 -
33. 搜索旋转排序数组
题目描述假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组[0,1,2,4,5,6,7]可能变为[4,5,6,7,0,1,2])。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回-1。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是O(logn) 级别。示例 1:输入: nums = [ 4, 5, 6, 7, 0...原创 2019-05-17 21:24:09 · 112 阅读 · 0 评论 -
数字在排序数组中出现的次数
题目描述统计一个数字在排序数组中出现的次数。思路二分查找。代码class Solution {public: int count; int GetNumberOfK(vector<int> data ,int k) { count = 0; binarySearch(data, k, 0, data.s...原创 2019-04-28 15:42:36 · 84 阅读 · 0 评论 -
4. 寻找两个有序数组的中位数
题目描述给定两个大小为 m 和 n 的有序数组nums1 和nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为O(log(m + n))。你可以假设nums1和nums2不会同时为空。示例示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = ...原创 2019-07-19 15:31:59 · 95 阅读 · 0 评论 -
35.搜索插入位置
题目描述给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例输入: [1,3,5,6], 5输出: 2思路1直接遍历,时间复杂度为O(n)。代码1class Solution {public: int searchInsert(ve...原创 2018-11-16 21:18:28 · 190 阅读 · 0 评论