[LeetCode]第八题 :求数字在数组中的位置

题目描述:

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.

Example 1:

Input: [1,3,5,6], 5
Output: 2

Example 2:

Input: [1,3,5,6], 2
Output: 1

Example 3:

Input: [1,3,5,6], 7
Output: 4

题目解释:

给出一组已经排好序的数组和一个数字,如果在数组中有这个数字,那么返回这个数字的索引,否则返回这个数字应该在该数组中的索引。你可以假设这个数组中没有重复的值

题目解法:

1.这个题其实很简单,循环遍历,如果数组在i位置的值大于或者等于这个给定值,那么返回这个索引i,否则继续,遍历完如果都没有达到要求,则说明这个值应该在数组最后面。代码如下:

class Solution {
    public int searchInsert(int[] nums, int target) {
        for(int i = 0;i < nums.length;i++) {
            if(nums[i] >= target) return i;
        } 
        return nums.length;
    }
}

猜你喜欢

转载自blog.csdn.net/woaily1346/article/details/80806411
今日推荐