JS算法题库

Posted 老张在线敲代码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS算法题库相关的知识,希望对你有一定的参考价值。

1.二分查找

根据目标值12来返回他对应的下标


var search = function() {
    var nums = [-1,0,3,5,9,12,18,32]
	    ,target = 12
	    ,left = 0
	    ,right = nums.length-1
	    ,mid
    while(left<=right){
        mid = Math.floor((left+right)/2)
        if(nums[mid]==target){
            return mid
        }
        else if(nums[mid]<target){
            left = mid+1
        }
        else{
            right = mid-1
        }
    }
    return -1
};

思路:

2. 求俩数之和

根据目标值18找出当前数组中哪俩个值相加等于18,并返回对应下标

var twoSum = function () {
  var nums = [2,7,11,15];
  var target = 18
  let hash = [];
  for (let i = 0; i < nums.length; i++) {
    if (hash[target - nums[i]] !== undefined) {
      return [i, hash[target - nums[i]]];
    }
    hash[nums[i]] = i;
  }
  return [];
};

以上是关于JS算法题库的主要内容,如果未能解决你的问题,请参考以下文章

JS最佳实践

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

试题库问题(最大流Isap) 网络流

VSCode自定义代码片段——JS中的面向对象编程

VSCode自定义代码片段9——JS中的面向对象编程

以下代码片段的算法复杂度