LeetCode 34 Search for a Range
来源:互联网 发布:淘宝茶叶店模板 编辑:程序博客网 时间:2024/05/29 11:42
description:
Given an array of integers sorted in ascending order, 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].
bug free, 两个二分法解决。时间复杂度为O(logn), 比暴力搜素O(N)方式要稍微好一些。这一题目面试时出现,应该不会让使用暴力搜索的方式去解决。
public class Solution { public int[] searchRange(int[] nums, int target) { if (nums == null || nums.length == 0) { return new int[] {-1, -1}; } return search(nums, target); } private int[] search(int[] nums, int target) { int start = 0, end = nums.length - 1; int left, right; while (start + 1 < end) { int mid = start + (end - start) / 2; if (target > nums[mid]) { start = mid; } else { end = mid; } } if (nums[start] == target) { left = start; } else if (nums[end] == target) { left = end; } else { left = -1; } start = 0; end = nums.length - 1; while (start + 1 < end) { int mid = start + (end - start) / 2; if (target < nums[mid]) { end = mid; } else { start = mid; } } if (nums[end] == target) { right = end; } else if (nums[start] == target) { right = start; } else { right = -1; } return new int[] {left, right}; }}
0 0
- LeetCode(34)Search for a Range
- [LeetCode] Search for a Range [34]
- LeetCode 34 Search for a Range
- [leetcode 34] Search for a Range
- Leetcode NO.34 Search for a Range
- [LeetCode 34]Search for a Range
- leetcode-34 Search for a Range
- Leetcode 34 Search for a Range
- Search for a Range - LeetCode 34
- leetcode 34 -- Search for a Range
- leetcode 34: Search for a Range
- Leetcode#34 Search for a Range
- LeetCode(34) Search for a Range
- LeetCode 34: Search for a Range
- [Leetcode 34, Medium] Search for a Range
- [leetcode-34]Search for a Range(C)
- Leetcode#34||Search for a Range
- LeetCode(34)Search for a Range
- Cookie(一)---宏观了解
- Fiddler小技巧之URL替换
- JAVA时间对象---字符串转日期,日期转字符串
- TCP协议
- Mac下SublimeText_编辑保存的Html乱码问题解决
- LeetCode 34 Search for a Range
- spring 带参 bean的注入
- iOS socket网络编程
- Spark DataFrame相关操作
- UGUI之优化(1)-解决RaycastTarget勾选过多的烦恼
- 找工作如何面试
- Android之JNI NDK如何取消native support 重新add native support
- 【技巧】仿某宝网详情页宝贝放大镜效果
- zabbix创建自定义键值和触发器