翼度科技»论坛 编程开发 JavaScript 查看内容

JS算法题解搜索插入位置方法示例

10

主题

10

帖子

30

积分

新手上路

Rank: 1

积分
30
题 目

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。
如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
你可以假设数组中无重复元素。
示例 1:
  1. 输入: [1,3,5,6], 5;输出: 2
复制代码
示例 2:
  1. 输入: [1,3,5,6], 2; 输出: 1
复制代码
示例 3:
  1. 输入: [1,3,5,6], 7; 输出: 4
复制代码
示例 4:
  1. 输入: [1,3,5,6], 0; 输出: 0
复制代码
答 案


解法1
  1. const searchInsert = (nums, target) => {
  2.     for(let i = 0; i < nums.length; i++){
  3.         if(nums[i] >= target) {
  4.             return i;
  5.         }
  6.     }
  7.     return nums.length;
  8. }
复制代码
解法2
  1. const searchInsert = (nums, target) => {
  2.     let left = 0, right = nums.length - 1;
  3.     while(left <= right) {
  4.         let mid = Math.floor((left + right) / 2);
  5.         if(nums[mid] == target) {
  6.             return mid;
  7.         } else if(nums[mid] < target) {
  8.             left = mid + 1;
  9.         } else {
  10.             right = mid - 1;
  11.         }
  12.     }
  13.     return left;
  14. }
复制代码
以上就是JS算法题解搜索插入位置方法示例的详细内容,更多关于JS搜索插入位置算法的资料请关注脚本之家其它相关文章!

来源:https://www.jb51.net/javascript/2921496ap.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具