![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
二分法
asjodnobfy
这个作者很懒,什么都没留下…
展开
-
367.有效的完全平方数
解题思路 与题 69.x的平方根 意思差不多 都用二分法来求解,寻找一个能够被平方等于num的数 找得到就是true 找不到就是false 时间复杂度为 O(logn) 代码 class Solution { public boolean isPerfectSquare(int num){ //采用二分法 初始边界:[0,num] //寻找能够被平方等于为num的数 int left= 0,right = num; //int mid =left + (right-原创 2021-08-13 09:43:08 · 61 阅读 · 0 评论 -
69.x的平方根
实现 int sqrt(int x) 函数。 计算并返回 x 的平方根,其中 x 是非负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 示例 1: 输入: 4 输出: 2 示例 2: 输入: 8 输出: 2 说明: 8 的平方根是 2.82842…, 由于返回类型是整数,小数部分将被舍去。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/sqrtx 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 二分法,.原创 2021-08-11 10:02:57 · 68 阅读 · 0 评论 -
704.二分查找
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1: 输入: nums = [-1,0,3,5,9,12], target = 9 输出: 4 解释: 9 出现在 nums 中并且下标为 4 示例 2: 输入: nums = [-1,0,3,5,9,12], target = 2 输出: -1 解释: 2 不存在 nums 中因此返回 -1 提示: 你可以假设 nums 中的.原创 2021-08-08 10:28:25 · 86 阅读 · 0 评论 -
35.搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5 输出: 2 示例 2: 输入: [1,3,5,6], 2 输出: 1 示例 3: 输入: [1,3,5,6], 7 输出: 4 思路 数组的遍历&比大小? 本来想用for(num:nums)。但是这样就不知道怎么拿到数组的下标。 所以还是乖乖for(int i=0; i<position; i+.原创 2021-06-14 20:42:48 · 48 阅读 · 0 评论 -
34.在排序数组中查找元素的第一个和最后一个位置
给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 进阶: 你可以设计并实现时间复杂度为 O(log n) 的算法解决此问题吗? 示例 1: 输入:nums = [5,7,7,8,8,10], target = 8 输出:[3,4] 示例 2: 输入:nums = [5,7,7,8,8,10], target = 6 输出:[-1,-1] 示例 3: 输入:nums = [], .原创 2021-08-10 10:30:54 · 64 阅读 · 0 评论