2018年4月1日

041 First Missing Positive 第一个缺失的正数

摘要: 给一个未排序的数组,找出第一个缺失的正整数。例如,[1,2,0] 返回 3,[3,4,-1,1] 返回 2。你的算法应该在 O(n) 的时间复杂度内完成并且使用常数量的空间。详见:https://leetcode.com/problems/first-missing-positive/descrip 阅读全文

posted @ 2018-04-01 23:09 lina2014 阅读(148) 评论(0) 推荐(0) 编辑

040 Combination Sum II 组合总和 II

摘要: 给定候选号码数组 (C) 和目标总和数 (T),找出 C 中候选号码总和为 T 的所有唯一组合。C 中的每个数字只能在组合中使用一次。注意: 所有数字(包括目标)都是正整数。 解决方案集不能包含重复的组合。例如,给定候选集合 [10, 1, 2, 7, 6, 1, 5] 和目标总和数 8,可行的集合 阅读全文

posted @ 2018-04-01 22:50 lina2014 阅读(142) 评论(0) 推荐(0) 编辑

039 Combination Sum 组合总和

摘要: 给一组候选数字(C)(没有重复)并给一个目标数字(T),找出 C 中所有唯一的组合使得它们的和为 T。可以从 C 无限次数中选择相同的数字。说明: 所有数字(包括目标)都是正整数。 解集合中没有相同组合。例如,给一个候选集合 [2, 3, 6, 7] 并且目标为 7,一个解的集合为:[ [7], [ 阅读全文

posted @ 2018-04-01 22:39 lina2014 阅读(272) 评论(0) 推荐(0) 编辑

038 Count and Say 数数并说

摘要: 数数并说序列是一个整数序列,第二项起每一项的值为对前一项的计数,其前五项如下:1. 12. 113. 214. 12115. 1112211 被读作 "一个一" 即 11。11 被读作 "两个一" 即 21。21 被读作 "一个二 和 一个一" 即 1211。给一个正整数 n ,输出数数并说序列的第 阅读全文

posted @ 2018-04-01 22:25 lina2014 阅读(594) 评论(0) 推荐(0) 编辑

037 Sudoku Solver 解数独

摘要: 写一个程序通过填充空格来解决数独。空格用 '.' 表示。 详见:https://leetcode.com/problems/sudoku-solver/description/ 阅读全文

posted @ 2018-04-01 21:51 lina2014 阅读(169) 评论(0) 推荐(0) 编辑

036 Valid Sudoku 有效的数独

摘要: 详见:https://leetcode.com/problems/valid-sudoku/description/ 参考:http://www.cnblogs.com/ganganloveu/p/4170632.html 阅读全文

posted @ 2018-04-01 21:36 lina2014 阅读(104) 评论(0) 推荐(0) 编辑

035 Search Insert Position 搜索插入位置

摘要: 给定一个排序数组和一个目标值,如果在数组中找到目标值则返回索引。如果没有,返回到它将会被按顺序插入的位置。你可以假设在数组中无重复元素。案例 1:输入: [1,3,5,6], 5输出: 2案例 2:输入: [1,3,5,6], 2输出: 1案例 3:输入: [1,3,5,6], 7输出: 4案例 4 阅读全文

posted @ 2018-04-01 20:54 lina2014 阅读(118) 评论(0) 推荐(0) 编辑

034 Search for a Range 搜索范围

摘要: 给定一个已经升序排序的整形数组,找出给定目标值的开始位置和结束位置。你的算法时间复杂度必须是 O(log n) 级别。如果在数组中找不到目标,返回 [-1, -1]。例如:给出 [5, 7, 7, 8, 8, 10] 和目标值 8,返回 [3, 4]。详见:https://leetcode.com/ 阅读全文

posted @ 2018-04-01 20:48 lina2014 阅读(90) 评论(0) 推荐(0) 编辑

033 Search in Rotated Sorted Array 搜索旋转排序数组

摘要: 假设按照升序排序的数组在预先未知的某个关键点上旋转。(即 0 1 2 4 5 6 7 将变成 4 5 6 7 0 1 2)。给你一个目标值来搜索,如果数组中存在这个数则返回它的索引,否则返回 -1。你可以假设数组中不存在重复。详见:https://leetcode.com/problems/sear 阅读全文

posted @ 2018-04-01 19:43 lina2014 阅读(122) 评论(0) 推荐(0) 编辑

032 Longest Valid Parentheses 最长有效括号

摘要: 给一个只包含 '(' 和 ')' 的字符串,找出最长的有效(正确关闭)括号子串的长度。对于 "(()",最长有效括号子串为 "()" ,它的长度是 2。另一个例子 ")()())",最长有效括号子串为 "()()",它的长度是 4。详见:https://leetcode.com/problems/l 阅读全文

posted @ 2018-04-01 19:31 lina2014 阅读(119) 评论(0) 推荐(0) 编辑

031 Next Permutation 下一个排列

摘要: 实现获取下一个排列函数,这个算法需要将数字重新排列成字典序中数字更大的排列。如果不存在更大的排列,则重新将数字排列成最小的排列(即升序排列)。修改必须是原地的,不开辟额外的内存空间。这是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 阅读全文

posted @ 2018-04-01 19:15 lina2014 阅读(193) 评论(0) 推荐(0) 编辑

030 Substring with Concatenation of All Words 与所有单词相关联的字串

摘要: 给定一个字符串 s 和一些长度相同的单词 words,找出 s 与 words 中所有单词(words 每个单词只出现一次)串联一起(words中组成串联串的单词的顺序随意)的字符串匹配的所有起始索引,子串要与串联串完全匹配,中间不能有其他字符。举个例子,给定:s:"barfoothefoobarm 阅读全文

posted @ 2018-04-01 18:39 lina2014 阅读(266) 评论(0) 推荐(0) 编辑

029 Divide Two Integers 两数相除

摘要: 不使用乘号,除号和取模符号将两数相除。如果溢出返回 MAX_INT。详见:https://leetcode.com/problems/divide-two-integers/description/ Java实现: 位操作Bit Operation,思路是:如果被除数大于或等于除数,则进行如下循环, 阅读全文

posted @ 2018-04-01 18:04 lina2014 阅读(180) 评论(0) 推荐(0) 编辑

028 Implement strStr() 实现 strStr()

摘要: 实现 strStr()。返回蕴含在 haystack 中的 needle 的第一个字符的索引,如果 needle 不是 haystack 的一部分则返回 -1 。例 1:输入: haystack = "hello", needle = "ll"输出: 2例 2:输入: haystack = "aaa 阅读全文

posted @ 2018-04-01 17:38 lina2014 阅读(96) 评论(0) 推荐(0) 编辑

027 Remove Element 移除元素

摘要: 给定一个数组和一个值,在这个数组中原地移除指定值和返回移除后新的数组长度。不要为其他数组分配额外空间,你必须使用 O(1) 的额外内存原地修改这个输入数组。元素的顺序可以改变。超过返回的新的数组长度以外的数据无论是什么都没关系。示例:给定 nums = [3,2,2,3],val = 3,你的函数应 阅读全文

posted @ 2018-04-01 17:17 lina2014 阅读(150) 评论(0) 推荐(0) 编辑

026 Remove Duplicates from Sorted Array 从排序数组中删除重复项

摘要: 给定一个有序数组,你需要原地删除其中的重复内容,使每个元素只出现一次,并返回新的长度。不要另外定义一个数组,您必须通过用 O(1) 额外内存原地修改输入的数组来做到这一点。示例:给定数组: nums = [1,1,2],你的函数应该返回新长度 2, 并且原数组nums的前两个元素必须是1和2不需要理 阅读全文

posted @ 2018-04-01 17:13 lina2014 阅读(170) 评论(0) 推荐(0) 编辑

025 Reverse Nodes in k-Group 每k个一组翻转链表

摘要: 给出一个链表,一次翻转 k 个指针节点,并返回修改后的链表。k 是一个正整数,并且小于等于链表的长度。如果指针节点的数量不是 k 的整数倍,那么最后剩余的节点应当保持原来的样子。你不应该改变节点的值,只有节点位置本身可能会改变。题目应当保证,仅使用恒定的内存。例如,给定这个链表:1->2->3->4 阅读全文

posted @ 2018-04-01 17:03 lina2014 阅读(139) 评论(0) 推荐(0) 编辑

024 Swap Nodes in Pairs 交换相邻结点

摘要: 给定一个链表,对每两个相邻的结点作交换并返回头节点。例如:给定 1->2->3->4,你应该返回 2->1->4->3。你的算法应该只使用额外的常数空间。不要修改列表中的值,只有节点本身可以​​更改。 详见:https://leetcode.com/problems/swap-nodes-in-pa 阅读全文

posted @ 2018-04-01 16:41 lina2014 阅读(115) 评论(0) 推荐(0) 编辑

023 Merge k Sorted Lists 合并K个有序链表

摘要: 合并K个有序链表,并且作为一个有序链表的形式返回。分析并描述它的复杂度。 详见:https://leetcode.com/problems/merge-k-sorted-lists/description/ 实现语言:Java 参考:https://www.cnblogs.com/grandyang 阅读全文

posted @ 2018-04-01 16:33 lina2014 阅读(180) 评论(0) 推荐(0) 编辑

022 Generate Parentheses 生成括号

摘要: 给 n 对括号,写一个函数生成所有合适的括号组合。比如,给定 n = 3,一个结果为:[ "((()))", "(()())", "(())()", "()(())", "()()()"]详见:https://leetcode.com/problems/generate-parentheses/de 阅读全文

posted @ 2018-04-01 16:09 lina2014 阅读(143) 评论(0) 推荐(0) 编辑

导航