算法|二分查找与移除元素(JavaScript语言实现)

二分查找与移除元素(JavaScript语言实现) 【算法|二分查找与移除元素(JavaScript语言实现)】算法学习第一天
二分查找 leetcode题目链接:
https://leetcode-cn.com/problems/binary-search/
题目:给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。

var search = function(nums, target) { let left = 0, right = nums.length - 1; // 使用左闭右闭区间 while(left <= right) { let mid = left + Math.floor((right - left)/2); //调用Math。floor,对其向下取整 if (nums[mid] > target) { right = mid - 1; } else if (nums[mid] < target) { left = mid + 1; } else { return mid; } } return -1; }

解题思路:二分查找,也就是从已排序数组的中间开始查询,查询值比它大则往右,反之则往左。
移除元素 LeetCode题目链接:
https://leetcode-cn.com/problems/remove-element/
var removeElement = function(nums, val) { let len = nums.length; for(i = 0; i < len; i++) { if(nums[i] == val) { for(j = i + 1; j < len; j++) { nums[j - 1] = nums[j]; } i--; len--; } return len; }

解题思路:刚开始不会,直接暴力破解上手了。
个人博客同步链接:https://exmaterial.gitee.io/

    推荐阅读