LeetCode刷题
文章平均质量分 93
Key Board
He smoothed his curl hair over the scalp...
展开
-
剑指offer打卡1
看了一下,LeetCode上剑指OFFER的题目大概有70道左右,难度大多为简单到中等。但是如果放开思路,深究多种解法,难度也并不低。总之适合我等菜鸟,先记录在此,并立下????️????️????️ ????????????:这些算法题,我要全部吃掉!!!当然,这里只记录一些常规的,或者比较不错的算法,其中也有自己的思考,但是文字注释并不多,很适合下次光临回味的那种。每一篇blog大概3~4道题的记录量,那么,话不多说。287. 寻找重复数给定一个包含 n + 1 个整数的数组 nums,其数字都原创 2020-06-06 20:55:42 · 282 阅读 · 0 评论 -
LeetCode 155 最小栈的3种实现方法 JavaScript
原题链接:点击设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x) – 将元素 x 推入栈中。pop() – 删除栈顶的元素。top() – 获取栈顶元素。getMin() – 检索栈中的最小元素。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.pus...原创 2020-02-25 20:02:22 · 235 阅读 · 0 评论 -
LeetCode 146 LRU Cache的实现 Pyhton3
原题链接:链接Design and implement a data structure for Least Recently Used (LRU) cache. It should support the following operations: get and put.get(key) - Get the value (will always be positive) of the ke...原创 2020-02-23 14:32:10 · 98 阅读 · 0 评论 -
LeetCode79 单词搜索 Python3
原题链接:点击给定一个二维网格和一个单词,找出该单词是否存在于网格中。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例:board =[ ['A','B','C','E'], ['S','F','C','S'], ['A','D','E','E']]给定 word = "...原创 2020-02-20 22:12:08 · 267 阅读 · 0 评论 -
数组中重复的数字 抽屉原理思想和一个小坑
很久没有更新了,惭愧…第一是虽然在家办公,杂活比较多,没啥心情写,第二且最重要的应该是懒癌患了…打开LeetCode,惊叹,竟然出了剑指offer和程序员面试金典的题库了,据说是不错的、很有针对性的书籍。现在能通过线上的优势来刷书了,开心…话不多说,先来一题压压惊:数组中重复的数字题没啥难的,有很多种方法可以解决。我这里只是参考了网上大神们的题解,即利用 桶排序+抽屉原理的思想,记录学习,...原创 2020-02-15 10:58:17 · 245 阅读 · 0 评论 -
LeetCode 42 用Python3来接雨水
leetcode 42 (https://leetcode-cn.com/problems/trapping-rain-water/)Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to t...原创 2020-02-06 09:54:28 · 317 阅读 · 0 评论 -
LeetCode 109 有序链表转换二叉搜索树 Python3
原题: 链接给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:...原创 2020-02-02 11:06:27 · 216 阅读 · 1 评论 -
LeetCode 121 买卖股票的最佳时机 Python3
原题:链接给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。示例一:示例二:这是一道很经典的题。掌握此题及其后续一系列变种能帮助我们理解动态规划的基本套路思路。同作为"动龟"的学习者,我就不解释自己写的渣渣代码了(利用的递归思想)。代码如下:...原创 2020-01-30 13:18:30 · 218 阅读 · 1 评论 -
LeetCode 92反转链表II Python3
原题:链接反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。说明:1 ≤ m ≤ n ≤ 链表长度。示例:解法一其实刚开始看这道题也没啥特别的想法,直接开干就行了。但是有很多细节需要处理,导致代码修改了很久才通过。这里简单地捋一下吧。设第m个节点为start节点,在开始start后续节点的翻转操作之前,我们不仅要找到start节点并保存,还需保存start节点的前一个节点fro...原创 2020-01-27 11:25:26 · 402 阅读 · 1 评论 -
LeetCode 206 反转链表的理解与分析 Python3
原题链接:LeetCode 206 反转链表反转一个单链表。就直接按照进阶的要求自己吧。解法一迭代法+双指针def reverseList(head): if not head: return None pre, cur = head, head.next while cur: # temp 为临时变量 用于保存下一个c...原创 2020-01-26 12:18:14 · 233 阅读 · 0 评论 -
LeetCode 214 最短回文串 KMP的应用 Python3
原题:链接给定一个字符串 s,你可以通过在字符串前面添加字符将其转换为回文串。找到并返回可以用这种方式转换的最短回文串。先简单分析一下,本题需要返回最短的回文串,我们一个自然的想法是源字符串中有没有回文字符串呢?如果有的话,就把它单拎出来,然后以其为轴进行y轴的翻转。极端地情况,如果源字符串不存在回文,就像示例2所示,则固定第一个字符a(很明显,单个字符本身满足回文的特点),将其余的字符串以...原创 2020-01-24 12:35:12 · 652 阅读 · 0 评论 -
LeetCode 116 填充每个节点的下一个右侧节点指针 Python3解法
原题来自于:链接给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next 指针都被设置为 NULL。示例:解法一如果不考虑空间复杂度的话,当然是选择层次遍历啦!开辟一个数组保存每一层的节点,然后用ne...原创 2020-01-21 11:54:40 · 1502 阅读 · 1 评论 -
LeetCode 3 无重复字符的最长子串 Python3的几种解法
原题:链接给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:示例2:示例3:老规矩,不直接怼代码。先捋一捋这道题的思路。其实暴力求解的方法比较容易想得到。要确定无重复字符的最长子串,我们可以先固定一个起始点,例如首先取第一个字符,之后从第二个字符开始不断累加并更新最大长度,直到遇到重复的字符之后则改变起始点,即从第二个字符开始继续上述的操作,直到起始点到达最后一...原创 2020-01-14 14:15:00 · 412 阅读 · 1 评论 -
LeetCode 99 搞懂二叉树的中序遍历
原题:链接二叉搜索树中的两个节点被错误地交换。请在不改变其结构的情况下,恢复这棵树。示例1:示例2:进阶:你能想出一个只使用常数空间的解决方案吗?...原创 2020-01-13 16:33:03 · 508 阅读 · 2 评论 -
LeetCode 114 Flatten Binary Tree to Linked List的多种解法分析 Python3
原题:题目链接给定一个二叉树,原地将它展开为链表。例如,给定二叉树将其展开为:解法一根据栗子中的顺序不难看出就是一个加上null左儿子的先序遍历。因此我考虑使用非递归版本的先序遍历的思想,利用O(n)的空间创建一个栈来保存要操作的节点。可能有人会说创建创建一个栈保存节点不满足题目要求的in-place。但就个人理解而言,我认为是符合题意的,树的结构并没有被破坏,而栈只是保存的节点地址...原创 2020-01-11 21:13:11 · 283 阅读 · 0 评论 -
Leetcode 77 Combinations的几种解法 Python3
Leetcode 77 Combinations的几种解法 Python3原题:题目链接给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。二话不说,直接开始怼代码 (^ ▽ ^)解法一利用回溯的思想,如示例中的情况。我们先选出1,然后从[2,3,4]中分别挑出一个数与之结合,直到temp数组长度满足要求,则退出递归。之后再考虑选出2,从剩下的[3,4]中分别挑出一...原创 2020-01-11 15:31:56 · 326 阅读 · 2 评论