摘要: 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 示例: 现有矩阵 matrix 如下: 给定 target = 5,返回 true。 给定 target = 20,返回 fals 阅读全文
posted @ 2018-07-21 20:30 onlyandonly 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。 你可以假设数组中不存在重复的元素。 你的算法时间复杂度必须是 O 阅读全文
posted @ 2018-07-21 20:18 onlyandonly 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 给出一个区间的集合,请合并所有重叠的区间。 示例 1: 示例 2: 将数组按照start进行排序,先把第一个区间扔进返回数组,然后遍历剩下的区间,如果该区间和返回数组尾部的区间重叠,就把它们合并,不然就把该区间扔进返回数组。 阅读全文
posted @ 2018-07-21 19:04 onlyandonly 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 你的算法时间复杂度必须是 O(log n) 级别。 如果数组中不存在目标值,返回 [-1, -1]。 示例 1: 示例 2: 二分查找的升级版。以searchBegin为例,当nums 阅读全文
posted @ 2018-07-21 13:23 onlyandonly 阅读(436) 评论(0) 推荐(0) 编辑