Loading

随笔分类 -  leetcode

摘要:给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 示例: 说明: 假设你总是可以到达数组的最后一个位置。 dfs和dp都超时。。。 阅读全文
posted @ 2018-09-29 17:29 老鼠阿尔吉侬 阅读(122) 评论(0) 推荐(0)
摘要:给定一个字符串 (s) 和一个字符模式 (p) ,实现一个支持 '?' 和 '*' 的通配符匹配。 '?' 可以匹配任何单个字符。 '*' 可以匹配任意字符串(包括空字符串)。 两个字符串完全匹配才算匹配成功。 说明: s 可能为空,且只包含从 a-z 的小写字母。 p 可能为空,且只包含从 a-z 阅读全文
posted @ 2018-09-29 17:28 老鼠阿尔吉侬 阅读(157) 评论(0) 推荐(0)
摘要:给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 num1 和 num2 的长度小于110。num1 和 num2 只包含数字 0-9。num1 和 num2 均不以零开头,除非是数字 0 本身。不能使用任何标准库的大数 阅读全文
posted @ 2018-09-29 17:26 老鼠阿尔吉侬 阅读(99) 评论(0) 推荐(0)
摘要:给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 感谢 Marcos 贡献此图。 阅读全文
posted @ 2018-09-29 17:25 老鼠阿尔吉侬 阅读(125) 评论(0) 推荐(0)
摘要:给定一个未排序的整数数组,找出其中没有出现的最小的正整数。 阅读全文
posted @ 2018-09-29 17:22 老鼠阿尔吉侬 阅读(150) 评论(0) 推荐(0)
摘要:给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用一次。 说明: 所有数字(包括目标数)都是正整数。解集不能包含重复的组合。示例 1: 阅读全文
posted @ 2018-09-29 17:21 老鼠阿尔吉侬 阅读(147) 评论(0) 推荐(0)
摘要:报数序列是指一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下: 给定一个正整数 n ,输出报数序列的第 n 项。 注意:整数顺序将表示为一个字符串。 阅读全文
posted @ 2018-09-29 17:16 老鼠阿尔吉侬 阅读(177) 评论(0) 推荐(0)
摘要:给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明: 所有数字(包括 target)都是正整数。解集不能包含重复的组合。示例 1: 示例 2 阅读全文
posted @ 2018-09-29 17:13 老鼠阿尔吉侬 阅读(205) 评论(0) 推荐(0)
摘要:编写一个程序,通过已填充的空格来解决数独问题。 一个数独的解法需遵循如下规则: 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3×3 宫内只能出现一次。空白格用 ‘.’ 表示。 一个数独。答案被标成红色。 Note: 给定的数独序列只包 阅读全文
posted @ 2018-09-29 17:12 老鼠阿尔吉侬 阅读(134) 评论(0) 推荐(0)
摘要:判断一个 9×9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3×3 宫内只能出现一次。上图是一个部分填充的有效的数独。 数独部分空格内已填入了数字,空白格用 ‘. 阅读全文
posted @ 2018-09-29 17:11 老鼠阿尔吉侬 阅读(164) 评论(0) 推荐(0)
摘要:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 阅读全文
posted @ 2018-09-29 17:09 老鼠阿尔吉侬 阅读(88) 评论(0) 推荐(0)
摘要:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 你的算法时间复杂度必须是 O(log n) 级别。 如果数组中不存在目标值,返回 [-1, -1]。 阅读全文
posted @ 2018-09-29 17:08 老鼠阿尔吉侬 阅读(123) 评论(0) 推荐(0)
摘要:假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。 你可以假设数组中不存在重复的元素。 你的算法时间复杂度必须是 O 阅读全文
posted @ 2018-09-29 16:59 老鼠阿尔吉侬 阅读(110) 评论(0) 推荐(0)
摘要:给定一个只包含 ‘(‘ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。 阅读全文
posted @ 2018-09-29 16:58 老鼠阿尔吉侬 阅读(83) 评论(0) 推荐(0)
摘要:mplement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers. If such arrangement is not possibl 阅读全文
posted @ 2018-09-29 16:45 老鼠阿尔吉侬 阅读(107) 评论(0) 推荐(0)
摘要:给定一个字符串 s 和一些长度相同的单词 words。在 s 中找出可以恰好串联 words 中所有单词的子串的起始位置。 注意子串要与 words 中的单词完全匹配,中间不能有其他字符,但不需要考虑 words 中单词串联的顺序。 示例 1: //题目好像有问题,说的是长度相等,但是用例给的却不一 阅读全文
posted @ 2018-09-29 15:05 老鼠阿尔吉侬 阅读(194) 评论(0) 推荐(0)
摘要:给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。 返回被除数 dividend 除以除数 divisor 得到的商。 说明: 被除数和除数均为 32 位有符号整数。除数不为 0。假设我们的环境只能存储 32 位有符号整数,其数值范围 阅读全文
posted @ 2018-09-29 13:38 老鼠阿尔吉侬 阅读(165) 评论(0) 推荐(0)
摘要:实现 strStr() 函数。 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。 当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。 对于 阅读全文
posted @ 2018-09-29 13:32 老鼠阿尔吉侬 阅读(126) 评论(0) 推荐(0)
摘要:给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 你不需要考虑数组中超出新长度后面的 阅读全文
posted @ 2018-09-29 13:28 老鼠阿尔吉侬 阅读(191) 评论(0) 推荐(0)
摘要:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 你不需要考虑数组中超出新长度后面的元素。说明: 为什么返回数值是整数,但输出的答案是数组呢? 请注意,输入数 阅读全文
posted @ 2018-09-29 13:23 老鼠阿尔吉侬 阅读(126) 评论(0) 推荐(0)