摘要: 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次。说明:所有数字(包括目标数)都是正整数。解集不能包含重复的组合。 示例 1:输入: candidate 阅读全文
posted @ 2019-03-27 11:53 maitianpt 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。 示例 1:输入: can 阅读全文
posted @ 2019-03-26 18:11 maitianpt 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:1. 12. 113. 214. 12115. 1112211 被读作 "one 1" ("一个一") , 即 11。11 被读作 "two 1s" ("两个一"), 即 21。21 被读作 "one 2", "one 阅读全文
posted @ 2019-03-26 18:10 maitianpt 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 编写一个程序,通过已填充的空格来解决数独问题。一个数独的解法需遵循如下规则:数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。空白格用 '.' 表示。一个数独。答案被标成红色。Note:给定的数独序列只包含数字 1 阅读全文
posted @ 2019-03-26 16:47 maitianpt 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。 上图是一个部分填充的有效的数独。数独部分空格内已填入了数字,空白格用 '.' 阅读全文
posted @ 2019-03-26 15:31 maitianpt 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。 示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出 阅读全文
posted @ 2019-03-25 21:40 maitianpt 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是 O(log n) 级别。如果数组中不存在目标值,返回 [-1, -1]。 示例 1:输入: nums = [5,7,7,8,8,10], target = 8输 阅读全文
posted @ 2019-03-25 21:16 maitianpt 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log 阅读全文
posted @ 2019-03-25 15:57 maitianpt 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。 示例 1:输入: "(()"输出: 2解释: 最长有效括号子串为 "()"示例 2:输入: ")()())"输出: 4解释: 最长有效括号子串为 "()()" 阅读全文
posted @ 2019-03-20 11:35 maitianpt 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。 以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2, 阅读全文
posted @ 2019-03-20 11:33 maitianpt 阅读(194) 评论(0) 推荐(0) 编辑