zoukankan      html  css  js  c++  java
  • 0035. Search Insert Position (E)

    Search Insert Position (E)

    题目

    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
    

    Example 4:

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

    题意

    给定一个数组,找到给定值的下标;如果数组中不存在给定值,则返回该值应当插入位置的下标。

    思路

    直接二分查找。


    代码实现

    Java

    class Solution {
        public int searchInsert(int[] nums, int target) {
            int left = 0;
            int right = nums.length - 1;
            while (left <= right) {
                int mid = (left + right) / 2;
                if (nums[mid] < target) {
                    left = mid + 1;
                } else if (nums[mid] > target) {
                    right = mid - 1;
                } else {
                    return mid;
                }
            }
            return left;
        }
    }
    

    JavaScript

    /**
     * @param {number[]} nums
     * @param {number} target
     * @return {number}
     */
    var searchInsert = function (nums, target) {
      let left = 0, right = nums.length - 1
      while (left <= right) {
        let mid = Math.trunc((right - left) / 2) + left
        if (nums[mid] < target) {
          left = mid + 1
        } else if (nums[mid] > target) {
          right = mid -1
        } else {
          return mid
        }
      }
      return left
    }
    
  • 相关阅读:
    机器学习——逻辑回归(Logistic Regression)
    [BUUCTF]PWN4——pwn1_sctf_2016
    [BUUCTF]PWN1——test_your_nc
    [BUUCTF]PWN2——rip
    vuex状态管理详细使用方法
    微信小程序入门
    条件渲染vue
    vue-cli安装方法
    JavaScript逻辑运算符
    JavaScript的基本介绍
  • 原文地址:https://www.cnblogs.com/mapoos/p/13193680.html
Copyright © 2011-2022 走看看