leetcode
康泽的学习之路
关注大数据,数据挖掘,机器学习,深度学习,推荐系统
展开
-
leetcode刷题记第28题解法(python解析)(实现 strStr() 函数)
leetcode刷题记--> 28题解法(python解析)题目定义1. 暴力解法2.内置函数3.Sunday 解法一、Sunday 匹配机制二、偏移表三、举例四、算法分析实现题目定义给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: ha...原创 2020-02-03 14:50:37 · 503 阅读 · 0 评论 -
leetcode刷题记第27题解法(python解析)(移除元素)
leetcode刷题记--> 27题解法(python解析)题目定义1. 双指针2. 双指针 —— 当要删除的元素很少时实现题目定义给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的...原创 2020-02-01 14:32:24 · 580 阅读 · 0 评论 -
leetcode刷题记第26题解法(python解析)(删除排序数组中的重复项)
leetcode刷题记--> 26题解法(python解析)题目定义1. 双指针2. 使用栈实现题目定义给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数...原创 2020-02-01 14:28:12 · 514 阅读 · 0 评论 -
leetcode刷题记第25题解法(python解析)( K 个一组翻转链表)
leetcode刷题记--> 25题解法(python解析)原创 2020-02-01 14:25:32 · 239 阅读 · 0 评论 -
leetcode刷题记第24题解法(python解析)(两两交换链表中的节点)
leetcode刷题记--> 24题解法(python解析)题目定义1. 只交换值(不能说完成)2. 递归3. 迭代实现题目定义给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.来源:力扣(LeetCod...原创 2020-02-01 14:13:58 · 465 阅读 · 0 评论 -
leetcode刷题记第23题解法(python解析)(合成K个有序链表)
leetcode刷题记--> 23题解法(python解析)题目定义1. 暴力解决(列表)2. 优先队列3. 分治法4. 分治法的优化实现题目定义合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[ 1->4->5, 1->3->4, 2->6]输出: 1->1->2->3->4-...原创 2020-01-21 16:13:59 · 450 阅读 · 0 评论 -
leetcode刷题记第22题解法(python解析)(括号生成)
leetcode刷题记--> 22题解法(python解析)题目定义解题1. 暴力解决(列表)2. 无名方法3. 使用堆栈4. 回溯法(也是递归)5. 暴力法(相比于方法一更好理解)6. 回溯法(与方法四差不多)实现题目定义给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出 n = 3,生成结果为:[ "((()))", "...原创 2020-01-21 13:49:47 · 623 阅读 · 0 评论 -
leetcode刷题记第21题解法(python解析)(合并两个有序链表)
leetcode刷题记--> 21题解法(python解析)题目定义解题1. 暴力解决(列表)2. 优化版,使用归并法3. 递归解决实现题目定义将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4来源:...原创 2020-01-20 09:56:21 · 550 阅读 · 0 评论 -
leetcode刷题记第20题解法(python解析)(有效括号)
leetcode刷题记--> 20题解法(python解析)题目定义解题1. 使用栈 (列表)2. 优化版(栈)3. 字符串替换实现题目定义给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"...原创 2020-01-19 14:22:10 · 533 阅读 · 0 评论 -
leetcode刷题记第19题解法(python解析)
leetcode刷题记--> 19题解法(python解析)题目定义解题1. 转为列表,然后再转为链表2. 使用递归的思路3. 使用字典存储的方法4. 使用单指针5. 使用双指针实现题目定义给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 ...原创 2020-01-19 10:24:47 · 794 阅读 · 0 评论 -
leetcode刷题记第18题解法(python解析)
leetcode刷题记--> 18题解法(python解析)题目定义解题1. 使用二分法2. 使用二分法的优化3. 使用递归思路4. 在二分法的优化上继续优化实现题目定义给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元...原创 2020-01-18 09:45:37 · 392 阅读 · 0 评论 -
leetcode刷题记第17题解法(python解析)
leetcode刷题记--> 16题解法(python解析)题目定义解题1. 使用reduce方法进行解决问题2. 动态规划3. 动态规划4. 使用递归实现题目定义给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:“23”输出:[“ad”, “ae”, “af”, “bd”, “b...原创 2020-01-16 21:06:50 · 616 阅读 · 0 评论 -
leetcode刷题记第16题解法(python解析)
leetcode刷题记--> 16题解法(python解析)题目定义解题1. 暴力解法2. 定住一个数,然后二分查找后两个数3. 定住一个数,然后二分查找后两个数实现题目定义给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums =...原创 2020-01-15 18:10:32 · 490 阅读 · 0 评论 -
leetcode刷题记第15题解法(python解析)
leetcode刷题记--> 15题解法(python解析)题目定义解题1. 暴力解法2. 定住两个数然后二分查找第三个3. 定住一个数,然后二分查找后两个数4. 使用python的内置函数实现题目定义给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重...原创 2020-01-14 20:05:03 · 529 阅读 · 0 评论 -
leetcode刷题记第14题解法(python解析)
leetcode刷题记--> 14题解法(python解析)题目定义解题1. 暴力解法2. 垂直扫描3. 利用zip函数4. ascII码排序比较5. os库实现题目定义编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: ["flower","flow","flight"]输出: "fl"示例 2:输入: ["dog","...原创 2020-01-13 20:51:40 · 637 阅读 · 0 评论 -
leetcode刷题记第13题解法(python解析)
leetcode刷题记--> 13题解法(python解析)题目定义解法一(找规律解法)解法二(特别秀的一种算法)题目定义罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D...原创 2020-01-12 19:44:00 · 578 阅读 · 0 评论 -
leetcode刷题记第12题解法(python解析)
leetcode刷题记--> 12题解法(python解析)题目定义解法一(暴力解法)解法二(贪心算法)解法三(贪心算法另一种实现)题目定义罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C ...原创 2020-01-12 18:33:51 · 369 阅读 · 0 评论 -
leetcode刷题记第11题解法(python解析)
leetcode刷题记--> 11题解法(python解析)题目定义解法一(暴力解法)解法二 (双下标法)题目定义给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容...原创 2020-01-12 00:28:43 · 296 阅读 · 0 评论