【LeetCode---算法刷题之数组】JavaScript之搜索插入位置(题号: 35)

1. 问题描述

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

请必须使用时间复杂度为 O(log n) 的算法。

2. 解题思路

循环数组,如果数组元素等于目标值target,将元素索引i输出,若不想等,则判断是否数组元素是否大于目标值target,大于返回索引i,小于则跳出循环。若循环到最后,仍没有与目标值相等或者比目标值target大的数组元素(数组元素,都小于目标值target),则插入索引在数组的最后。

3. 解题

var searchInsert = function(nums, target) {
    let result = null;
    for(i = 0; i < nums.length; i++) {
        if(nums[i] === target || nums[i] > target) {
            result = i;
            break;
        } else {
            if(i === nums.length - 1) {
                result = i + 1;
            }
        }
    }
    return result;
};

(1) 输出:
【LeetCode---算法刷题之数组】JavaScript之搜索插入位置(题号: 35)_第1张图片

【LeetCode---算法刷题之数组】JavaScript之搜索插入位置(题号: 35)_第2张图片

问题来源:力扣(LeetCode)
链接: https://leetcode-cn.com/problems/search-insert-position/submissions/

你可能感兴趣的:(LeetCode刷题,力扣,leetcode,数组)