[LeetCode][JavaScript]Search for a Range
2015-09-12 19:53
621 查看
Search for a Range
Given a sorted array of integers, find the starting and ending position of a given target value.Your algorithm's runtime complexity must be in the order of O(log n).
If the target is not found in the array, return
[-1, -1].
For example,
Given
[5, 7, 7, 8, 8, 10]and target value 8,
return
[3, 4].
https://leetcode.com/problems/search-for-a-range/
给定有序的数列,要求找出目标,要求时间复杂度O(logn),二分法。
/** * @param {number[]} nums * @param {number} target * @return {number[]} */ var searchRange = function(nums, target) { var len = nums.length, start = 0; end = len - 1; while(start <= end){ var index = parseInt((start + end) / 2); if(nums[index] === target){ start = end = index; while(start - 1 >= 0 && nums[start - 1] === target) start--; while(end + 1 <= len - 1 && nums[end + 1] === target) end++; return [start, end]; }else if(nums[index] > target){ end = index - 1; }else if(nums[index] <target){ start = index + 1; } } return [-1, -1]; };
相关文章推荐
- javascript HTML DOM listener
- JS于,子类调用父类的函数
- 使用JavaScript检测浏览器
- javascript高级程序设计---Event对象三
- js实现网页贪吃蛇
- javascript高级程序设计---Event对象二
- JavaScript 的 坑
- JS数据类型之String类型
- javascript高级程序设计---Event对象
- [LeetCode][JavaScript]First Bad Version
- JavaScript : the good parts(语言精髓读书笔记)
- js实现找零张数最小问题
- JSP页面细节
- JavaScript所有保留字
- javascript高级程序设计---CSS操作
- js中substr,substring,indexOf,lastIndexOf等的用法
- 转载:JavaScript中对闭包的理解及举例和说明
- jsessionId的使用
- URL与资源(之Url地址栏中的jsessionId有分号)《包括相对路径和绝对路径的根本分析》
- 自己封装的AJAX (带JSON)