34. Search for a Range
来源:互联网 发布:重生之美国仓储淘宝王 编辑:程序博客网 时间:2024/04/29 18:54
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].
题意、思路
按要求使用Array、Binary Search:
先根据二分法找出其中一个的位置 然后在第二个 进行两次函数的调用 其实很简单
代码
public class Solution { public int[] searchRange(int[] nums, int target) { int start = Solution.shao(nums, target); if(start == nums.length || nums[start] != target){ //进行判断 return new int[]{-1, -1}; } return new int[]{start, Solution.shao(nums, target + 1) - 1}; //****注意此处的target + 1 } public static int shao(int[] nums, int target){ //找出target的位置 int left = 0, right = nums.length; while(left < right){ int mid = (left + right) / 2; if(nums[mid] < target){ left = mid + 1; } else{ right = mid; } } return left; }}
0 0
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- IPC机制---04 Android中的IPC通讯方式(C)
- asp.net AspNetPager Repeater PagedDataSource 假分页方法适用于小数据量分页
- oracle和mysql在ibatis中对自增ID的控制以及MYSQLLAST_INSERT_ID
- redis使用watch秒杀抢购思路
- String类型转换成数组,并Json形式提交
- 34. Search for a Range
- Xbean介绍与Spring的整合
- 算法复杂度
- Puppet4学习笔记:RHEL7下安装puppet4.3
- 第一次上机
- 算法导论:第9章 中位数和顺序统计量_2最坏情况为线性时间的选择算法
- c++第一次实验
- iPhone 和 iPad 的适配
- Android动画基础