ninehills / blog

https://ninehills.tech
862 stars 80 forks source link

LeetCode-35. Search Insert Position #51

Closed ninehills closed 7 years ago

ninehills commented 7 years ago

问题

https://leetcode.com/problems/search-insert-position/description/

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

思路

遍历比对即可,重点是细节

解答

package main

import "fmt"

// ----------------------
func searchInsert(nums []int, target int) int {
    var i int = 0
    for i = 0; i < len(nums); i++ {
        if target <= nums[i] {
            return i
        }
    }
    return i
}

// ----------------------

func main() {
    fmt.Println(searchInsert([]int{1,3,5,6}, 7))
    fmt.Println(searchInsert([]int{1,3,5,6}, 2))
    fmt.Println(searchInsert([]int{1,3,5,6}, 5))
    fmt.Println(searchInsert([]int{1,3,5,6}, 0))
}
ninehills commented 7 years ago

4