
二分查找法
二分查找法
origin_code
这个作者很懒,什么都没留下…
展开
-
z12_852. 山脉数组的峰顶索引
一、题目二、想法三、复杂度分析四、优秀解法五、学到了什么一、题目852. 山脉数组的峰顶索引https://leetcode-cn.com/problems/peak-index-in-a-mountain-array/二、想法 /** * 二分查找法,找到连续三个数是先上后下的转折点,进行返回 */ fun peakIndexInMountainArray(arr: IntArray): Int {原创 2021-04-15 09:58:02 · 111 阅读 · 0 评论 -
z11_704. 二分查找
一、题目二、想法三、复杂度分析四、优秀解法五、学到了什么一、题目704. 二分查找https://leetcode-cn.com/problems/binary-search/二、想法1.数组有序,查找插入位置 看题目就是标准的二叉查找算法 /** * 标准二分查找法,只是当找不到时,不是返回插入的位置,而是返回-1 */ fun search(nums: IntArray, target:原创 2021-04-15 09:30:51 · 124 阅读 · 0 评论 -
z10_744. 寻找比目标字母大的最小字母
一、题目二、想法三、复杂度分析四、优秀解法五、学到了什么一、题目744. 寻找比目标字母大的最小字母https://leetcode-cn.com/problems/find-smallest-letter-greater-than-target/二、想法 /** * 思路: * 1.由于字符数组有序,字符的大小比较跟数字的大小比较算法是一样的,是二分查找法的简单变种 * 2.注意末尾字符找到了返回原创 2021-04-15 09:09:36 · 98 阅读 · 0 评论 -
z09_441. 排列硬币
一、题目二、想法三、复杂度分析四、优秀解法五、学到了什么一、题目441. 排列硬币https://leetcode-cn.com/problems/arranging-coins/二、想法 /** * 思路: * 想获取n的一个1+2+3..的一个接差函数的个数, */ fun arrangeCoins(n: Int): Int { var result =原创 2021-04-14 09:36:45 · 139 阅读 · 0 评论 -
z08_374.猜数字大小
一、题目二、想法三、复杂度分析四、优秀解法五、学到了什么一、题目374. 猜数字大小https://leetcode-cn.com/problems/guess-number-higher-or-lower/二、想法1.猜数字,隐形中也是对有序整形数组进行大小比较,所以可以进行二分查找算法,加快查找速率 /** * 猜数字,隐形中也是对有序整形数组进行大小比较,所以可以进行二分查找算法,加快查找速率 */原创 2021-04-13 09:18:33 · 131 阅读 · 0 评论 -
z07_367.有效的完全平方数
一、题目二、想法三、复杂度分析四、优秀解法五、学到了什么一、题目367.有效的完全平方数https://leetcode-cn.com/problems/valid-perfect-square/二、想法 /** * 因为数据自然有序,所以可以二分查找法,比暴力查找更快 */ class Solution { fun isPerfectSquare(num: Int): Boolean { ...原创 2021-04-13 08:21:15 · 141 阅读 · 0 评论 -
z05_350.两个数组的交集II
一、题目二、想法三、复杂度分析四、优秀解法五、学到了什么一、题目350.两个数组的交集IIhttps://leetcode-cn.com/problems/intersection-of-two-arrays-ii/二、想法跟349算法题很类似,就是将Set集合改成了List集合class Solution { fun intersect(nums1: IntArray, nums2: IntArray): IntArray {原创 2021-04-12 09:39:09 · 92 阅读 · 0 评论 -
z05_349.两个数组的交集
一、题目二、想法三、复杂度分析四、优秀解法五、学到了什么一、题目349.两个数组的交集https://leetcode-cn.com/problems/intersection-of-two-arrays/二、想法 /** * * (1)2个Int数组,数组都是同一类型,可以先让二个数组去重 * (2)2个数组有序,让后从左边进行对比,添加到结果数组 */ fun原创 2021-04-12 09:00:23 · 154 阅读 · 0 评论 -
z04_278. 第一个错误的版本
目录一、题目二、想法三、复杂度分析四、优秀解法五、学到了什么一、题目278. 第一个错误的版本https://leetcode-cn.com/problems/first-bad-version/二、想法1.找到第一个错误版本, 转换成另一个意思就是找到第一个isBadVersion()=true的位置,2.也就是遇到isBadVersion()=false,这个位置的前面没有问题,向右找 isBadVersion()=true, 这个位.原创 2021-04-12 08:16:46 · 90 阅读 · 0 评论 -
z03_167. 两数之和 II - 输入有序数组
目录一、题目二、想法三、复杂度分析四、优秀解法五、学到了什么一、题目167. 两数之和 II - 输入有序数组https://leetcode-cn.com/problems/two-sum-ii-input-array-is-sorted/二、想法* 1.左边界索引从0进行向右循环,右边界索引进行择半查找对应的值* 2.若果没有找到左边界向右边移动,保证每个位置能都循环,直至右边界 /** * 1.左边界索引从.原创 2021-04-11 18:03:37 · 119 阅读 · 0 评论 -
z02_69. x 的平方根
一、题目二、想法三、复杂度分析四、优秀解法五、学到了什么一、题目69. x 的平方根https://leetcode-cn.com/problems/sqrtx/solution/二、想法(1)由于要找一个数的平方根,那么就是要在一个有序的整形列表,快速找出某个的平方是输入的数的平方根(2)由于会有整形边界值输入,那么左右指针相加时会出现整形值溢出,中间值求平方时会出现整形值溢出那么根据这个题目,我们就把所有数值都转换成Long型进行计算,保证数值不会溢原创 2021-04-11 13:34:27 · 187 阅读 · 0 评论 -
算法分析模板【z08_题目】
一、题目35.搜索插入位置https://leetcode-cn.com/problems/search-insert-position/二、想法1.数组有序,查找插入位置 看题目就是标准的二叉查找算法 fun searchInsert(nums: IntArray, target: Int): Int { var low = 0 var height = nums.size - 1 var middle= 0原创 2021-04-06 09:35:43 · 189 阅读 · 0 评论 -
z01_35.搜索插入位置
一、题目35.搜索插入位置https://leetcode-cn.com/problems/search-insert-position/二、想法1.数组有序,查找插入位置 看题目就是标准的二叉查找算法 fun searchInsert(nums: IntArray, target: Int): Int { var low = 0 var height = nums.size - 1 var middle= 0原创 2021-04-06 09:23:11 · 142 阅读 · 0 评论