二分查找
heda3
从事嵌入式开发10年+,国内某一流研究所的研究生,新一代信息技术工程师职称,申请撰写发明专利15项/授权8项,发表中英文期刊2篇。目前从事嵌入式系统、算法开发及管理,持续分享嵌入式驱动、操作系统、上位机软件、算法等开发过程中遇到的问题、解决方法及知识点
展开
-
17.统计一个数字在排序数组中出现的次数
题目描述统计一个数字在排序数组中出现的次数。解法1:普通解法-顺序查找:时间复杂度:O(n)解法2:排序数组的查找可以用二分法,怎么用?有多个重复的数字,若是查找的中间数和两边的都相同,那么两边都要找时间复杂度:O(n)。没有利用二分查找的优势思路转换:将查找的数字转换为查找第一个数字和最后一个数字,依然用二分法查找时间复杂度:O(logn)二分法的改进...原创 2019-02-03 13:25:20 · 337 阅读 · 0 评论 -
LeetCode 367. 有效的完全平方数 --数组--二分查找--简单
类似博文(99%)LeetCode 69. Sqrt(x)--(数组)--二分法查找 --简单题目描述:给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False。说明:不要使用任何内置的库函数,如sqrt。示例 1:输入:16输出:True示例 2:输入:14输出:False参考链接:https://l...原创 2020-01-22 22:05:45 · 447 阅读 · 0 评论 -
LeetCode 441. 排列硬币 --数组--二分法 --简单
题目描述:你总共有n枚硬币,你需要将它们摆成一个阶梯形状,第k行就必须正好有k枚硬币。给定一个数字n,找出可形成完整阶梯行的总行数。n是一个非负整数,并且在32位有符号整型的范围内。示例 1:n = 5硬币可排列成以下几行:¤¤ ¤¤ ¤因为第三行不完整,所以返回2.示例 2:n = 8硬币可排列成以下几行:¤¤ ¤¤ ¤ ¤¤...原创 2020-01-22 21:53:17 · 410 阅读 · 0 评论 -
LeetCode374. 猜数字大小 --数组--二分法--简单
题目描述:我们正在玩一个猜数字游戏。 游戏规则如下:我从1到n选择一个数字。 你需要猜我选择了哪个数字。每次你猜错了,我会告诉你这个数字是大了还是小了。你调用一个预先定义好的接口guess(int num),它会返回 3 个可能的结果(-1,1或 0):-1 : 我的数字比较小1 : 我的数字比较大0 : 恭喜!你猜对了!示例 :输入: n = 10...原创 2020-01-22 21:36:05 · 828 阅读 · 1 评论 -
LeetCode35. 搜索插入位置 --(数组)--二分法查找-- 简单
解题思路经典的二分法查找,通过题目解析可知查找的元素位置为:查找中间值大于等于目标值的第一个元素索引参考[1]//javaclass Solution { public int searchInsert(int[] nums, int target) { int len = nums.length; if (nums[le...原创 2020-01-12 16:31:13 · 314 阅读 · 0 评论 -
LeetCode 69. Sqrt(x)--(数组)--二分法查找 --简单
类似博文:LeetCode35. 搜索插入位置 --(数组) 简单(二分法查找)--总结题目描述Implementint sqrt(int x).Compute and return the square root ofx, wherexis guaranteed to be a non-negative integer.Since the return typeis a...原创 2019-03-16 19:13:16 · 364 阅读 · 0 评论 -
LeetCode50 Pow(x, n)--数组--二分法查找--中等
相关博文:LeetCode35. 搜索插入位置 --(数组)--二分法查找-- 简单LeetCode 69. Sqrt(x)--(数组)--二分法查找 --简单题目描述:实现pow(x, n),即计算 x 的 n 次幂函数。示例 1:输入: 2.00000, 10输出: 1024.00000示例2:输入: 2.10000, 3输...原创 2020-01-12 17:18:58 · 230 阅读 · 0 评论