- 浏览: 183593 次
- 性别:
- 来自: 济南
文章分类
最新评论
Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.
You may assume no duplicates in the array.
Here are few examples.
[1,3,5,6], 5 → 2
[1,3,5,6], 2 → 1
[1,3,5,6], 7 → 4
[1,3,5,6], 0 → 0
同样是在有序数组中查找一个目标元素,这种情况我们一般都用二分查找法。这道题目比较简单,用二分法找到目标元素就直接返回当然元素下标;如果没有找到,当二分查找结束时,也就是left指针大于right指针后,此时left指针恰好为要插入的位置。代码如下:
You may assume no duplicates in the array.
Here are few examples.
[1,3,5,6], 5 → 2
[1,3,5,6], 2 → 1
[1,3,5,6], 7 → 4
[1,3,5,6], 0 → 0
同样是在有序数组中查找一个目标元素,这种情况我们一般都用二分查找法。这道题目比较简单,用二分法找到目标元素就直接返回当然元素下标;如果没有找到,当二分查找结束时,也就是left指针大于right指针后,此时left指针恰好为要插入的位置。代码如下:
public class Solution { public int searchInsert(int[] nums, int target) { if(nums == null || nums.length == 0) return 0; int l = 0; int r = nums.length - 1; while(l <= r) { int m = l + (r - l) / 2; if(nums[m] == target) { return m; } else if(nums[m] > target) { r = m - 1; } else { l = m + 1; } } return l; } }
发表评论
-
498. Diagonal Traverse
2019-11-15 13:52 265Given a matrix of M x N eleme ... -
496 Next Greater Element I
2019-11-14 13:50 267You are given two arrays (witho ... -
Word Break II
2016-03-09 03:15 384Given a string s and a dictiona ... -
Insert Interval
2016-03-08 02:11 374Given a set of non-overlapping ... -
Merge Intervals
2016-03-07 05:25 497Given a collection of intervals ... -
Merge k Sorted Lists
2016-03-07 04:03 563Merge k sorted linked lists and ... -
Multiply Strings
2016-03-06 07:27 475Given two numbers represented a ... -
N-Queens II
2016-03-06 03:06 664Follow up for N-Queens problem. ... -
N-Queens
2016-03-06 02:47 469The n-queens puzzle is the prob ... -
First Missing Positive
2016-03-05 03:09 429Given an unsorted integer array ... -
Spiral Matrix
2016-03-04 03:39 575Given a matrix of m x n element ... -
Trapping Rain Water
2016-03-04 02:54 580Given n non-negative integers r ... -
Repeated DNA Sequences
2016-03-03 03:10 426All DNA is composed of a series ... -
Increasing Triplet Subsequence
2016-03-02 02:48 898Given an unsorted array return ... -
Maximum Product of Word Lengths
2016-03-02 01:56 930Given a string array words, fin ... -
LRU Cache
2016-02-29 10:37 602Design and implement a data str ... -
Super Ugly Number
2016-02-29 07:07 674Write a program to find the nth ... -
Longest Increasing Path in a Matrix
2016-02-29 05:56 843Given an integer matrix, find t ... -
Coin Change
2016-02-29 04:39 783You are given coins of differen ... -
Minimum Height Trees
2016-02-29 04:11 705For a undirected graph with tre ...
相关推荐
js js_leetcode题解之35-search-insert-position.js
c语言入门 C语言_leetcode题解之35-search-insert-position.c
* Search Insert Position:该题目要求在排序数组中查找元素,实现方法使用了二分查找算法。 * Longest Consecutive Sequence Java:该题目要求找到最长的连续序列,实现方法使用了哈希表和迭代算法。 * Search a 2D...
- 定义一个名为`searchInsert`的函数,接收两个参数:`nums`和`target`。 - 初始化左边界`left`为0,右边界`right`为数组长度减1。 - 使用`while`循环进行二分查找,直到`left 。 - 计算中间位置`mid = (left + ...
int searchInsert(vector<int>& nums, int target) { int left = 0, right = nums.size() - 1; while (left ) { int mid = left + (right - left) / 2; // 如果目标值等于中间位置的值,返回该位置 if ...
* 搜索插入位置(Search Insert Position):在排序数组中搜索插入位置。 8. 动态规划: * 3Sum(3Sum):找到数组中三个元素的和等于目标值的元素。 * 3Sum最近(3Sum Closest):找到数组中三个元素的和最近...
- Search Insert Position(搜索插入位置) - Search for a Range(搜索范围) - First Bad Version(第一个错误版本) - Search a 2D Matrix(二维矩阵中的搜索) - Search a 2D Matrix II(二维矩阵中的搜索...
- Search Insert Position(搜索插入位置) - Find Minimum in Sorted Rotated Array(在排序旋转数组中查找最小值) 从文件中提取的信息点可以看出,"CleanCodeHandbook_v1.0.3" 是一个专注于指导如何编写清晰且...
- **Search Insert Position**:在排序数组中查找目标值的插入位置。 2. **位操作(Bit Manipulation)**: - **Missing Number**:在一个整数序列中找出缺失的数字。 - **Power of Two**:判断一个整数是否为2...
48. Search Insert Position:查找插入位置。 49. Find Minimum in Sorted Rotated Array:在一个排序旋转数组中查找最小值。 50. Find Minimum in Rotated Sorted Array II – With Duplicates:同上题,但在数组中...
- "搜索插入位置"(Search Insert Position)是二分搜索的基础应用。 - 在"旋转排序数组中寻找最小值"(Find Minimum in Sorted Rotated Array)中,二分搜索也有其变种的应用。 以上知识点涵盖了LeetCode Java版的...
48. Search Insert Position:在一个有序数组中找到一个数的位置,如果不存在则插入的位置。 49. Find Minimum in Sorted Rotated Array:在一个旋转排序数组中找到最小值。 50. Find Minimum in Rotated Sorted ...
1. **搜索插入位置(Search Insert Position)**:给定一个已排序的数组和一个目标值,在数组中找到目标值的位置,如果不存在返回插入的位置。 2. **寻找旋转排序数组中的最小值(Find Minimum in Rotated Sorted ...
- Search Insert Position:在排序数组中查找目标值,并返回其索引。 - Search for a Range:在排序数组中搜索给定值的起始和结束位置。 - Find Peak Element:在一个整数数组中找到一个峰值元素。 - Median of Two ...
- **查找插入位置(Search Insert Position)** - 在有序数组中查找一个元素的插入位置。 - **查找目标元素范围(Search for a Range)** - 查找目标元素在有序数组中的起始和结束位置。 - **第一个错误版本(First Bad...
9. 基于二分查找的问题:例如Search Insert Position(搜索插入位置),这需要候选人对二分查找算法有深入理解。 10. 深入理解堆和优先队列:在问题如Kth Largest Element in an Array(数组中第K大的元素)中会...
- **查找插入位置(Search Insert Position)**: 在排序数组中查找一个数字的插入位置。 - **在排序数组中寻找范围(Search for a Range)**: 在排序数组中找到给定数字范围的位置。 - **查找矩阵中的位置(Search a 2D ...