Leetcode刷题
视界IT
这个作者很懒,什么都没留下…
展开
-
LeetCode题目记录---解码方法(5)
LeetCode题目记录第91题:解码方法1.题目链接2.题目内容3.解题思路4.代码实现第91题:解码方法1.题目链接[https://leetcode-cn.com/problems/decode-ways/]2.题目内容一条包含字母 A-Z 的消息通过以下方式进行了编码:‘A’ -> 1‘B’ -> 2…‘Z’ -> 26给定一个只包含数字的非空字符串,...原创 2019-04-04 16:48:31 · 287 阅读 · 0 评论 -
数据结构 5. 递归
Leetcode部分队列相关练习一、递归1. 递归的定义2. 递归的实现2.1 斐波那契数列求值2.2 编程实现求阶乘 n!2.3 编程实现一组数据集合的全排列3. 练习70. Climbing Stairs(爬楼梯)746. 使用最小花费爬楼梯一、递归1. 递归的定义递归就是子程序(或函数)直接调用自己或通过一系列调用语句间接调用自己,是一种描述问题和解决问题的基本方法。递归常与分治思想...原创 2019-05-15 17:57:50 · 515 阅读 · 0 评论 -
数据结构 1. 数组
Leetcode部分数组相关练习一、数组1.实现一个支持动态扩容的数组2.实现一个大小固定的有序数组,支持动态增删改操作3.实现两个有序数组合并为一个有序数组leetcode上的两数之和(1)及Happy Number(202)运用哈希思想的解法1. 两数之和202. 快乐数练习15. 三数之和169. 求众数41. 缺失的第一个正数一、数组1.实现一个支持动态扩容的数组class Arra...原创 2019-05-11 14:05:59 · 434 阅读 · 0 评论 -
数据结构 12.图
Leetcode部分图相关练习一、图1. 定义2. 实现有向图、无向图、有权图、无权图的邻接矩阵和邻接表表示方法2.1 邻接矩阵2.2 邻接表3. 实现图的深度优先搜索、广度优先搜索3.1 深度优先搜索3.2 广度优先搜索4. 实现 Dijkstra 算法、A* 算法4.1 Dijkstra 算法4.2 实现A* 算法6. 练习36. 有效的数独200. 岛屿数量一、图1. 定义图...原创 2019-05-24 21:07:15 · 381 阅读 · 0 评论 -
数据结构 13.递归、回溯、分治、动态规划
Leetcode部分递归、回溯、分治、动态规划相关练习一、 递归二、回溯1.回溯的概念2. 回溯相关练习51.N皇后利用回溯算法求解 0-1 背包问题三、分治1.分治的概念2.分治算法的基本步骤3.分治相关练习利用分治算法求一组数据的逆序对个数四、动态规划1. 动态规划的概念2.基本思想与策略3. 适用的情况4.动态规划相关练习利用动态规划求解 0-1 背包问题2.2 实现模糊二分查找算法(比如大...原创 2019-05-25 21:01:38 · 877 阅读 · 0 评论 -
数据结构 10. 二叉树
Leetcode部分二叉树相关练习一、二叉树1. 定义2. 实现一个二叉查找树,并且支持插入、删除、查找操作2.1 查找和插入2.2 删除3. 实现二叉树前、中、后序以及按层遍历3.1 先序遍历3.2 中序遍历3.3 后序遍历4. 练习98. 验证二查搜索树102. 二叉树的层次遍历107. 二叉树的层次遍历 II226. Invert Binary Tree(翻转二叉树)104. Maximum...原创 2019-05-22 11:03:22 · 566 阅读 · 0 评论 -
数据结构 11. 堆
Leetcode部分堆相关练习一、堆1. 定义2. 实现一个小顶堆、大顶堆、优先级队列2.1 小顶堆2.2 大顶堆2.3 优先级队列3. 实现堆排序4. 利用优先级队列合并 K 个有序数组5. 求一组动态数据集合的最大 Top K6. 练习112. 路径总和一、堆1. 定义1、堆是一棵完全二叉树,这棵二叉树需要满足堆序:任何分支结点(即除去叶结点所剩余的结点)的值都大于等于(或小于等于)其左...原创 2019-05-22 11:56:13 · 344 阅读 · 0 评论 -
数据结构 6.排序
Leetcode部分排序相关练习一、排序1. 稳定的排序算法1.1 冒泡排序的实现1.2 插入排序的实现1.3 归并排序的实现2. 不稳定的排序算法2.1 选择排序的实现2.2 堆排序的实现2.3 快速排序的实现一、排序在待排序的文件中,若存在多个关键字相同的记录,经过排序后这些具有相同关键字的记录之间的相对次序保持不变,该排序方法是稳定的;若具有相同关键字的记录之间的相对次序发生改变,则称这...原创 2019-05-17 21:18:41 · 682 阅读 · 0 评论 -
数据结构 7.二分查找
Leetcode部分二分查找相关练习一、 二分查找1.栈的定义2.栈的实现2.1 实现一个有序数组的二分查找算法2.2 实现模糊二分查找算法(比如大于等于给定值的第一个元素)3. 练习x 的平方根一、 二分查找1.栈的定义二分查找算法也称折半查找算法,是在有序数组中用到的较为频繁的一种查找算法。在未接触二分查找算法时,最通用的一种做法是,对数组进行遍历,跟每个元素进行比较,即顺序查找。二分查...原创 2019-05-18 09:36:36 · 623 阅读 · 0 评论 -
数据结构 8.散列表(哈希表)
Leetcode部分散列表(哈希表)相关练习一、散列表(哈希表)1. 散列表(哈希表)的定义2. 散列表和 LRU 缓存淘汰算法的实现2.1 实现一个基于链表法解决冲突问题的散列表2.2 实现一个 LRU 缓存淘汰算法2.2.1 LRU原理2.2.2 LRU实现8.2.3 用python实现LRU一、散列表(哈希表)1. 散列表(哈希表)的定义哈希表(Hash table,也叫散列表),是根...原创 2019-05-18 13:19:20 · 444 阅读 · 0 评论 -
数据结构 4. 队列
Leetcode部分队列相关练习一、队列1.队列的定义2.队列的实现2.1 用数组实现一个顺序队列2.2 用链表实现一个链式队列2.3 实现一个循环队列练习641. Design Circular Deque(设计一个双端队列)239. 滑动窗口最大值一、队列1.队列的定义队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,...原创 2019-05-15 17:24:53 · 405 阅读 · 0 评论 -
数据结构 3. 栈
Leetcode部分链表相关练习一、栈1.栈的定义栈的实现2.1 用数组实现一个顺序栈2.2 用链表实现一个链式栈2.3 编程模拟实现一个浏览器的前进、后退功能4.实现求链表的中间结点练习20. 有效的括号32. 最长有效括号150. 逆波兰表达式求值一、栈1.栈的定义栈是一种“先进后出”的一种数据结构,有压栈出栈两种操作方式。如下图:栈的实现2.1 用数组实现一个顺序栈class ...原创 2019-05-13 21:21:46 · 158 阅读 · 0 评论 -
LeetCode题目记录---组合总和II(11)
LeetCode题目记录第40题:组合总和II1.题目链接2.题目内容3.解题思路4.代码实现第40题:组合总和II1.题目链接[https://leetcode-cn.com/problems/combination-sum-ii/]2.题目内容给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。c...原创 2019-04-17 23:06:35 · 243 阅读 · 0 评论 -
LeetCode题目记录---两两交换链表中的节点(6)
LeetCode题目记录第24题:两两交换链表中的节点1.题目链接2.题目内容3.解题思路4.代码实现第24题:两两交换链表中的节点1.题目链接[https://leetcode-cn.com/problems/swap-nodes-in-pairs/]2.题目内容给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。...原创 2019-04-05 15:58:53 · 136 阅读 · 0 评论 -
LeetCode题目记录---最长连续序列(7)
LeetCode题目记录第128题:最长连续序列1.题目链接2.题目内容3.解题思路4.代码实现第128题:最长连续序列1.题目链接[https://leetcode-cn.com/problems/longest-consecutive-sequence/submissions/]2.题目内容给定一个未排序的整数数组,找出最长连续序列的长度。要求算法的时间复杂度为 O(n)。示例:...原创 2019-04-06 10:47:01 · 135 阅读 · 0 评论 -
LeetCode题目记录---两数相加(1)
LeetCode题目记录题库-力扣2.两数相加题库-力扣2.两数相加https://leetcode-cn.com/problems/add-two-numbers/给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0...原创 2019-03-31 21:44:36 · 211 阅读 · 0 评论 -
Leetcode题目记录---整数转罗马数字(2)
LeetCode题目记录第12题:整数转罗马数字1.题目链接2.题目内容3.解题思路3.1. 思路4.代码实现4.1 代码5. 涉及知识点第12题:整数转罗马数字1.题目链接[https://leetcode-cn.com/problems/integer-to-roman/]2.题目内容罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符数值I...原创 2019-04-01 15:59:56 · 185 阅读 · 0 评论 -
Leetcode题目记录---括号生成(3)
LeetCode题目记录第22题:括号生成1.题目链接2.题目内容3.解题思路4.代码实现网上最优解法5. 涉及知识点第22题:括号生成1.题目链接[https://leetcode-cn.com/problems/generate-parentheses/solution/]2.题目内容给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给...原创 2019-04-02 16:54:40 · 201 阅读 · 0 评论 -
LeetCode题目记录---电话号码的字母组合(9)
LeetCode题目记录第17题:电话号码的字母组合1.题目链接2.题目内容3.解题思路4.代码实现第17题:电话号码的字母组合1.题目链接[https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/]2.题目内容给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下...原创 2019-04-15 19:30:01 · 263 阅读 · 0 评论 -
Leetcode题目记录---字母异位词分组(4)
LeetCode题目记录49. 字母异位词分组1.题目链接2.题目内容3.解题思路4.代码实现网上最优解法5. 涉及知识点49. 字母异位词分组1.题目链接[https://leetcode-cn.com/problems/group-anagrams/submissions/]2.题目内容给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:...原创 2019-04-03 18:04:49 · 149 阅读 · 0 评论 -
LeetCode题目记录---组合总和(10)
LeetCode题目记录第39题:组合总和1.题目链接2.题目内容3.解题思路4.代码实现第39题:组合总和1.题目链接[https://leetcode-cn.com/problems/combination-sum/]2.题目内容给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。ca...原创 2019-04-17 00:36:24 · 212 阅读 · 0 评论 -
LeetCode题目记录---合并两个有序链表(8)
LeetCode题目记录第21题:合并两个有序链表1.题目链接2.题目内容3.解题思路4.代码实现第21题:合并两个有序链表1.题目链接[https://leetcode-cn.com/problems/merge-two-sorted-lists/]2.题目内容将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:l1: 1->...原创 2019-04-14 21:50:20 · 172 阅读 · 0 评论 -
数据结构 9. 字符串
Leetcode部分字符串相关练习一、字符串1. 字符串相关结构的实现1.1 实现一个字符集,只包含 a~z 这 26 个英文字母的 Trie 树1.2 实现朴素的字符串匹配算法2. 练习344. 反转字符串151. 翻转字符串里的单词8. 字符串转换整数 (atoi)一、字符串1. 字符串相关结构的实现1.1 实现一个字符集,只包含 a~z 这 26 个英文字母的 Trie 树tire ...原创 2019-05-18 13:45:33 · 443 阅读 · 0 评论