摘要: 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 你的算法时间复杂度必须是 O(log n) 级别。 如果数组中不存在目标值,返回 [-1, -1]。 示例 1: 输入: nums = [5,7,7,8,8,10], target = 阅读全文
posted @ 2019-03-14 22:45 zzas12345 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 题目描述 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。 你可以假设数组中不存在重复的元素。 你的算法时间复杂度 阅读全文
posted @ 2019-03-14 22:15 zzas12345 阅读(404) 评论(0) 推荐(0) 编辑
摘要: 给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。 示例 1: 输入: "(()" 输出: 2 解释: 最长有效括号子串为 "()" 示例 2: 输入: ")()())" 输出: 4 解释: 最长有效括号子串为 "()()"思路:动态规划,只需要考虑两个有效的连续括号 阅读全文
posted @ 2019-03-14 21:30 zzas12345 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。 必须原地修改,只允许使用额外常数空间。 以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1, 阅读全文
posted @ 2019-03-14 20:33 zzas12345 阅读(317) 评论(0) 推荐(0) 编辑