![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode记录
文章平均质量分 60
猪无戒_
这个作者很懒,什么都没留下…
展开
-
LeetCode——算法思想训练(动态规划上)
LeetCode——算法思想训练(贪心,二分)题号目录网址 (只做了部分题)对应题号到LeetCode搜索1.贪心455. 分发饼干(简单题)让胃口小的先吃,尽可能多分发class Solution {public: int findContentChildren(vector<int>& g, vector<int>& s) { int children = 0, cookie = 0; // 先排序原创 2021-09-17 19:52:21 · 198 阅读 · 1 评论 -
LeetCode——算法思想训练(贪心,二分)
LeetCode——算法思想训练(贪心,二分)题号目录网址 (只做了部分题)对应题号到LeetCode搜索1.贪心455. 分发饼干(简单题)让胃口小的先吃,尽可能多分发class Solution {public: int findContentChildren(vector<int>& g, vector<int>& s) { int children = 0, cookie = 0; // 先排序原创 2021-07-14 21:24:18 · 198 阅读 · 1 评论 -
LeetCode——算法思想训练(双指针,排序)
LeetCode——算法思想训练(双指针,排序)题号目录网址 (只做了部分题)对应题号到LeetCode搜索1.双指针1. 两数之和(简单题)用unordered_map很容易做,另外就是暴力破解,这题不是有序数组,所以双指针貌似不行吧class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { unordered_map<int,in原创 2021-07-07 19:35:22 · 142 阅读 · 0 评论 -
LeetCode——数据结构训练(栈、队列、哈希和字符串)
LeetCode——数据结构训练(栈、队列、哈希和字符串)题号目录网址 (只做了部分题)对应题号到LeetCode搜索主要是在算法里面的应用232. 用栈实现队列(简单题)就移除队列那边注意下就好了class MyQueue {private: stack<int> inStack, outStack; void inOut(){ while(!inStack.empty()){ outStack原创 2021-06-24 16:28:07 · 103 阅读 · 0 评论 -
LeetCode——数据结构训练(树十题)
LeetCode——数据结构训练(树十题)题号目录网址 (只做了部分题)对应题号到LeetCode搜索树最容易的方法就是递归,其次就是栈和队列应用,其实只要能遍历树,前中后三种遍历基本上大部分都能解决了。104. 二叉树的最大深度(简单题)1、递归方法class Solution {public: int maxDepth(TreeNode* root) { if(root==nullptr) return 0; // 这里是从下往上加深度,也可以从原创 2021-06-23 16:32:55 · 103 阅读 · 0 评论 -
LeetCode——数据结构训练(链表十题)
LeetCode——分类训练(链表十题)大部分分类都有了——题号目录网址对应题号到LeetCode搜索简单题要理解头结点,头结点是指向节点地址,并没有存放实际内容,主要是方便插入等操作,具体可以百度160. 找出两个链表的交点(简单题)class Solution {public: ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) { ListNode *pA = headA, *pB =原创 2021-05-10 20:53:36 · 262 阅读 · 0 评论 -
LeetCode——第二十八天(每个元音包含偶数次的最长子字符串)
LeetCode——第二十八天1371. 每个元音包含偶数次的最长子字符串给你一个字符串 s ,请你返回满足以下条件的最长子字符串的长度:每个元音字母,即 ‘a’,‘e’,‘i’,‘o’,‘u’ ,在子字符串中都恰好出现了偶数次。示例 1:输入:s = "eleetminicoworoep"输出:13解释:最长子字符串是 "leetminicowor" ,它包含 e,i,o 各 2 个,以及 0 个 a,u 。示例 2:输入:s = "leetcodeisgreat"输出:5解释:最长原创 2020-05-20 12:46:48 · 433 阅读 · 0 评论 -
LeetCode——第二十七天(验证回文字符串 Ⅱ)
LeetCode——第二十七天680. 验证回文字符串 Ⅱ给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。示例 1:输入: "aba"输出: True示例 2:输入: "abca"输出: True解释: 你可以删除c字符。注意:字符串只包含从 a-z 的小写字母。字符串的最大长度是50000。分析:双指针肯定都知道,然后通过跳过一项来判断剩下继续用双指针来判断是否是回文。双指针:class Solution {public: bool chec原创 2020-05-19 23:11:08 · 148 阅读 · 0 评论 -
LeetCode——第二十六天(和为K的子数组、前缀和)
LeetCode——第二十六天560. 和为K的子数组给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。示例 1 :输入:nums = [1,1,1], k = 2输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。说明 :数组的长度为 [1, 20,000]。数组中元素的范围是 [-1000, 1000] ,且整数 k 的范围是 [-1e7, 1e7]。分析:这题目很熟悉有没有,很像之前一题前缀和,不过我是用了两个for循环做的,看了题解才知原创 2020-05-15 17:01:46 · 141 阅读 · 0 评论 -
LeetCode——第二十五天(二叉树的最近公共祖先)
LeetCode——第二十四天236. 二叉树的最近公共祖先给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]示例 1:输入: root = [3,5,1,6,2,0,8,null,null,7,4], p原创 2020-05-14 09:47:28 · 113 阅读 · 0 评论 -
LeetCode——第二十四天(山脉数组中查找目标值)
LeetCode——第二十四天1095. 山脉数组中查找目标值(这是一个 交互式问题 )给你一个 山脉数组 mountainArr,请你返回能够使得 mountainArr.get(index) 等于 target 最小 的下标 index 值。如果不存在这样的下标 index,就请返回 -1。何为山脉数组?如果数组 A 是一个山脉数组的话,那它满足如下条件:首先,A.length &...原创 2020-04-29 18:20:49 · 139 阅读 · 0 评论 -
LeetCode——第二十三天(数组中数字出现的次数)
LeetCode——第二十二天面试题56 - I. 数组中数字出现的次数一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。示例 1:输入:nums = [4,1,4,6]输出:[1,6] 或 [6,1]示例 2:输入:nums = [1,2,10,4,1,4,3,3]输出:[2,10...原创 2020-04-28 19:09:26 · 175 阅读 · 0 评论 -
LeetCode——第二十二天(合并K个排序链表)
LeetCode——第二十二天23. 合并K个排序链表合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[ 1->4->5, 1->3->4, 2->6]输出: 1->1->2->3->4->4->5->6分析:只会暴力,看了官方分治,还有一个优先队列就比较好玩了。...原创 2020-04-28 19:04:12 · 98 阅读 · 0 评论 -
LeetCode——第二十一天(全排列)
LeetCode——第二十一天46.全排列给定一个 没有重复 数字的序列,返回其所有可能的全排列。 示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]分析:全排列,不会做,唉。看了一眼回溯法,瞬间去复习了一下,只怪之前没有好好学。TODO:明天更新下回溯法...原创 2020-04-26 00:05:12 · 162 阅读 · 0 评论 -
LeetCode——第二十天(数组中的逆序对)(树状数组)
LeetCode——第二十天面试题51. 数组中的逆序对在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。示例 1:输入: [7,5,6,4]输出: 5限制:0 <= 数组长度 <= 50000分析:逆序对,经典题目。用了两个for循环,结果超时了,哈哈哈,也很正常。然后印象中二叉树就是...原创 2020-04-24 19:14:14 · 240 阅读 · 0 评论 -
LeetCode——第十九天(二叉树的右视图)
LeetCode——第十九天199. 二叉树的右视图给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。示例:输入: [1,2,3,null,5,null,4]输出: [1, 3, 4]解释: 1 <--- / \2 3 <--- \ \ 5 4 ...原创 2020-04-22 12:16:05 · 194 阅读 · 0 评论 -
LeetCode——第十八天(统计「优美子数组」)
LeetCode——第十八天1248. 统计「优美子数组」给你一个整数数组 nums 和一个整数 k。如果某个 连续 子数组中恰好有 k 个奇数数字,我们就认为这个子数组是「优美子数组」。请返回这个数组中「优美子数组」的数目。示例 1:输入:nums = [1,1,2,1,1], k = 3输出:2解释:包含 3 个奇数的子数组是 [1,1,2,1] 和 [1,2,1,1] 。...原创 2020-04-21 12:39:26 · 141 阅读 · 0 评论 -
LeetCode——第十七天(岛屿数量)
LeetCode——第十七天200. 岛屿数量给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:11110110101100000000输出: 1示例 2:输入:110001100000100...原创 2020-04-20 15:42:39 · 188 阅读 · 0 评论 -
LeetCode——第十六天(有效的括号)
LeetCode——第十六天20. 有效的括号给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例 2:输入: "()[]{}"输出: true示例 3:输入: "(...原创 2020-04-19 15:52:33 · 101 阅读 · 0 评论 -
LeetCode——第十五天(删除链表的倒数第N个节点)
LeetCode——第十五天19. 删除链表的倒数第N个节点给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?分析:课本教材题...原创 2020-04-19 15:27:24 · 109 阅读 · 0 评论 -
LeetCode——第十四天(电话号码的字母组合)
LeetCode——第十三天17. 电话号码的字母组合给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].说明:尽管上面的答案是按字典序排列的,但是你可以任意选...原创 2020-04-16 14:53:49 · 137 阅读 · 0 评论 -
LeetCode——第十三天(三数之和、最接近三数之和、四数之和)
LeetCode——第十三天15. 三数之和给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-...原创 2020-04-15 17:16:01 · 142 阅读 · 0 评论 -
LeetCode——第十二天(最长公共前缀)
LeetCode——第十二天14. 最长公共前缀编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: ["flower","flow","flight"]输出: "fl"示例 2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。分析:官...原创 2020-04-15 15:36:11 · 93 阅读 · 0 评论 -
LeetCode——第十一天(整数转罗马数字、罗马数字转整数)
LeetCode——第十天12. 整数转罗马数字罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如,...原创 2020-04-15 00:09:25 · 212 阅读 · 0 评论 -
LeetCode——第十天(盛最多水的容器)
LeetCode——第十天11.盛最多水的容器给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。示例:输入:[1,8,6,2,5,4,8,3,7]...原创 2020-04-14 20:01:54 · 104 阅读 · 0 评论 -
LeetCode——第九天(回文数)
LeetCode——第九天1.回文数判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01...原创 2020-04-05 20:23:48 · 118 阅读 · 0 评论 -
LeetCode——第八天(字符串转换整数 (atoi))
LeetCode——第八天1.字符串转换整数 (atoi)请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串...原创 2020-04-02 19:34:57 · 93 阅读 · 0 评论 -
LeetCode——第七天(整数反转)
LeetCode——第七天1.整数反转给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−2^31, 2^31 − 1]。请根据这个假设,如果反转后整数溢...原创 2020-03-26 00:25:23 · 161 阅读 · 0 评论 -
LeetCode——第六天(Z 字形变换)
https://www.cnblogs.com/elpsycongroo/p/7836642.html原创 2020-03-24 14:40:03 · 122 阅读 · 0 评论 -
LeetCode——第五天(最长回文子串)
LeetCode——第五天1.最长回文子串给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"分析:自己只能想到暴力破解,三个循环,分割子串,然后判断是否是回文。看了题解,感觉一种反转的思路,其实想到了,就...原创 2020-03-23 14:04:43 · 153 阅读 · 0 评论 -
LeetCode——第四天(寻找两个有序数组的中位数)
LeetCode——第四天1.寻找两个有序数组的中位数给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例2:nums1 = [1, 2...原创 2020-03-23 11:40:43 · 105 阅读 · 0 评论 -
LeetCode——第三天(无重复字符的最长子串)
LeetCode——第三天1.无重复字符的最长子串给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输...原创 2020-03-16 21:54:01 · 114 阅读 · 0 评论 -
LeetCode——第二天(两数相加)
LeetCode——第二天1.两数相加给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4...原创 2020-03-15 18:12:26 · 128 阅读 · 0 评论 -
LeetCode——第一天(两数之和)
LeetCode——第一天1.两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所...原创 2020-03-14 18:21:03 · 193 阅读 · 0 评论