1. 程式人生 > >【LeetCode】搜尋插入位置

【LeetCode】搜尋插入位置

給定一個排序陣列和一個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。

你可以假設陣列中無重複元素。

示例 1:

輸入: [1,3,5,6], 5
輸出: 2

示例 2:

輸入: [1,3,5,6], 2
輸出: 1

示例 3:

輸入: [1,3,5,6], 7
輸出: 4

示例 4:

輸入: [1,3,5,6], 0
輸出: 0

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        int n=sc.nextInt();
        int arr[]=new int[n];
        for (int i=0;i<arr.length;i++)
            arr[i]=sc.nextInt();
        int t=sc.nextInt();

        System.out.println(Solution.searchInsert(arr,t));

    }
}

class Solution {
    public static int searchInsert(int[] nums, int target) {

        int i=0;
        while (i<nums.length)
        {
            if(nums[i]<target)
                i++;
            else
                break;
        }

        return i;
    }
}

思路就是暴力查詢,應該還能用二分優化。