随笔分类 -  算法相关

摘要:给定一个未排序的整数数组,找出其中没有出现的最小的正整数。 示例 1: 示例 2: 示例 3: 阅读全文
posted @ 2019-02-17 21:36 小李HH 阅读(317) 评论(0) 推荐(0) 编辑
摘要:给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用一次。 说明: 所有数字(包括目标数)都是正整数。 解集不能包含重复的组合。 示例 1: 示例 2: 阅读全文
posted @ 2019-02-17 21:34 小李HH 阅读(164) 评论(0) 推荐(0) 编辑
摘要:给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明: 所有数字(包括 target)都是正整数。 解集不能包含重复的组合。 示例 1: 示例 阅读全文
posted @ 2019-02-17 21:33 小李HH 阅读(124) 评论(0) 推荐(0) 编辑
摘要:报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下: 1 被读作 "one 1" ("一个一") , 即 11。11 被读作 "two 1s" ("两个一"), 即 21。21 被读作 "one 2", "one 1" ("一个二" , "一个一") , 即 1211。 阅读全文
posted @ 2019-02-17 21:31 小李HH 阅读(116) 评论(0) 推荐(0) 编辑
摘要:判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。 上图是一个部分填充的有效的数独。 数独部分空格内已填入了数字,空白格用 '.' 表示。 示例 1: 示例 2: 说明: 一个有效的数独(部分已被填充)不一定是可解的。 只需要根据以上规则,验证已经填入的数字是否有 阅读全文
posted @ 2019-02-17 21:30 小李HH 阅读(395) 评论(0) 推荐(0) 编辑
摘要:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 示例 2: 示例 3: 示例 4: 阅读全文
posted @ 2019-02-17 21:28 小李HH 阅读(206) 评论(0) 推荐(0) 编辑
摘要:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 你的算法时间复杂度必须是 O(log n) 级别。 如果数组中不存在目标值,返回 [-1, -1]。 示例 1: 示例 2: 阅读全文
posted @ 2019-02-17 21:26 小李HH 阅读(344) 评论(0) 推荐(0) 编辑
摘要:实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。 必须原地修改,只允许使用额外常数空间。 以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1, 阅读全文
posted @ 2019-02-17 21:24 小李HH 阅读(246) 评论(0) 推荐(0) 编辑
摘要:给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。 返回被除数 dividend 除以除数 divisor 得到的商。 示例 1: 示例 2: 说明: 被除数和除数均为 32 位有符号整数。 除数不为 0。 假设我们的环境只能存储 3 阅读全文
posted @ 2019-02-17 21:23 小李HH 阅读(292) 评论(0) 推荐(0) 编辑
摘要:实现 strStr() 函数。 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。 示例 1: 示例 2: 说明: 当 needle 是空字符串时,我们应当返回什么值呢?这 阅读全文
posted @ 2019-02-17 21:21 小李HH 阅读(217) 评论(0) 推荐(0) 编辑
摘要:给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 示例 1: 示例 2: 说明: 为 阅读全文
posted @ 2019-02-17 21:19 小李HH 阅读(124) 评论(0) 推荐(0) 编辑
摘要:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 示例 2: 说明: 为什么返回数值是整数,但输出的答案是数组呢? 请注意,输入数组是以“引用”方 阅读全文
posted @ 2019-02-17 21:18 小李HH 阅读(119) 评论(0) 推荐(0) 编辑
摘要:给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。 例如,给出 n = 3,生成结果为: 阅读全文
posted @ 2019-02-16 22:31 小李HH 阅读(328) 评论(0) 推荐(0) 编辑
摘要:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 阅读全文
posted @ 2019-02-16 22:28 小李HH 阅读(582) 评论(0) 推荐(0) 编辑
摘要:给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 有效字符串需满足: 注意空字符串可被认为是有效字符串。 示例 1: 示例 2: 示例 3: 示例 4: 示例 5: 阅读全文
posted @ 2019-02-16 22:27 小李HH 阅读(171) 评论(0) 推荐(0) 编辑
摘要:给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。 注意: 答案中不可以包含重复的四元组。 示例: 阅读全文
posted @ 2019-02-16 22:23 小李HH 阅读(132) 评论(0) 推荐(0) 编辑
摘要:一、冒泡排序 算法介绍: 1.比较相邻的两个元素,如果前一个比后一个大,则交换位置。 2.第一轮把最大的元素放到了最后面。 3.由于每次排序最后一个都是最大的,所以之后按照步骤1排序最后一个元素不用比较。 冒泡算法改进:1.设置一个标志,如果这一趟发生了交换,则为true。否则为false。如果这一 阅读全文
posted @ 2019-01-24 19:44 小李HH 阅读(154) 评论(0) 推荐(0) 编辑
摘要:算法介绍 二分查找,也称折半查找,是一种在有序数组中查找特定元素的搜索算法。查找过程经历一下步骤: (1)从有序数组的中间的元素开始搜索,如果该元素正好是目标元素,则停止搜索并返回该元素的索引值,否则进行下一步。 (2)如果目标元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半区域查找,然 阅读全文
posted @ 2019-01-23 16:56 小李HH 阅读(129) 评论(0) 推荐(0) 编辑
摘要:给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例: 说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。 阅读全文
posted @ 2019-01-20 09:10 小李HH 阅读(139) 评论(0) 推荐(0) 编辑
摘要:给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。 阅读全文
posted @ 2019-01-20 09:08 小李HH 阅读(251) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示