[分析] 经典二分查找,下面代码实现了迭代方式,可以验证,若直到循环结束也没有找到目标元素,则left恰好指在比target大的第一个位置, right恰好指在比target小的最后一个位置,因此返回left即可。开始没注意到这个规律,卡在循环结束该返回什么上。
public class Solution {
public int searchInsert(int[] nums, int target) {
if (nums == null || nums.length == 0)
return 0;
int left = 0, right = nums.length - 1;
int mid = -1;
while (left <= right) {
mid = left + (right - left) / 2;
if (target == nums[mid]) {
return mid;
} else if (target > nums[mid]) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return left;
}
}
分享到:
相关推荐
js js_leetcode题解之35-search-insert-position.js
c语言入门 C语言_leetcode题解之35-search-insert-position.c
- Search Insert Position: 在一个排序数组中查找一个目标值,如果不存在则返回应该插入的位置。 - Valid Sudoku: 验证一个9x9的数独是否有效。 - Sudoku Solver: 解数独问题,即给出一个部分填充的数独,要求填充...
leetcode双人赛 leetcode-solution 闲暇之余,刷一下题,弥补...search-insert-position 最大子序和 maximum-subarray 加一 plus-one 合并两个有序数组 merge-sorted-array 杨辉三角 pascals-triangle 杨辉三角 II pa
- **查找插入位置(Search Insert Position)**: 在排序数组中查找一个数字的插入位置。 - **在排序数组中寻找范围(Search for a Range)**: 在排序数组中找到给定数字范围的位置。 - **查找矩阵中的位置(Search a 2D ...
leetcode 答案 LeetCode-practice 记录在leetcode练习的代码&总结 ...#35SearchInsertPosition 最佳答案未解 Git使用练习 练习下分支切换&合并 解决冲突 master&feature1 禁用fast forward --no-ff 熟悉stash
leetcode卡Leetcode-解决方案 LeetCode DS 日常挑战的解决方案 问题陈述 1.InvertBinaryTree - 2.子序列- 3.SearchInsertPosition - 4.SortColors - 5.单号——
PalindromeNumber 13_RomanToInteger 14_LongestCommonPrefix 20_ValidParentheses 21_MergeTwoSortedLists 26_RemoveDuplicatesFromSortedArray 27_RemoveElement 28_ImplementStrStr() 35_SearchInsertPosition ...
丢失的最小正整数leetcode interview-algorithm 记录前端面试算法题目详解 目录 Lost Three Nums 随机从一组数组(数组内的数据为从1到n,且n为正整数)里,删除三个数,要求找到丢失的三个数,且运行较快。...Position
圆和椭圆重叠leetcode ——#158 尖端 关心特殊情况 从不同的方向思考 简单的 大批 1.Two Sum -> 使用哈希表避免遍历列表448.查找数组中消失的所有数字-> 1.建立缓冲区来计算数字| 2.使用数组作为带符号的缓冲区118....
leetcode 浇花力扣解决方案 简单的 #0001 - Two Sum #0007 - Reverse Integer #0009 - Palindrome Number #0035 - Search Insert Position #0058 - Length of Last Word #0066 - Plus One #0083 - Remove Duplicates...
leetcode 答案 ...Position 找target能插入的第一个位置 或 比target小的值有几个 H-Index II 注意是找后面的target 而且是动态target sqrtx 答案集进行二分 找 mid <= x/mid 的最后一个值 Find Pea
leetcode 316 leetcode 题解更新脚本 用于快速的更新题解、同步leetcode的做题情况。 题解见: 文件名 用途 add_to_blog_solution_table.py 添加题解地址or题解语言到表格,能同步...Position Medium -> Easy 36
leetcode 答案LeetCode LeetCode in Swift ...Position Easy #38 Count and Say Easy #53 Maximum Subarray Easy #66 Plus One Easy #70 Climbing Stairs Easy #83 Remove Duplicates from Sorted L
leetcode 1004 leetcode E:简单,M:中等,H:困难 数组和字符串 217. Contains Duplicate (E) 48. Rotate Image (M) -> 2 73. Set Matrix Zeroes ...Search ...Position ...Search Insert Position (E)
- Search Insert Position(搜索插入位置) - Search for a Range(搜索范围) - First Bad Version(第一个错误版本) - Search a 2D Matrix(二维矩阵中的搜索) - Search a 2D Matrix II(二维矩阵中的搜索...
* Search Insert Position:该题目要求在排序数组中查找元素,实现方法使用了二分查找算法。 * Longest Consecutive Sequence Java:该题目要求找到最长的连续序列,实现方法使用了哈希表和迭代算法。 * Search a 2D...
leetcode 答案 #LeetCode LeetCode solution By Li Yiji. Maybe not ...每个cpp文件的文件名中前边的...Position 我图省事,直接用的遍历。正常情况下应该使用二分查找 ###031 Remove Element 我的解法不太好,而且不严密
- **Search Insert Position**:在排序数组中查找目标值的插入位置。 2. **位操作(Bit Manipulation)**: - **Missing Number**:在一个整数序列中找出缺失的数字。 - **Power of Two**:判断一个整数是否为2...