草庐IT

leetCode

全部标签

数据结构:带环单链表基础OJ练习笔记(leetcode142. 环形链表 II)(leetcode三题大串烧)

目录一.前言 二.leetcode160. 相交链表 1.问题描述2.问题分析与求解三.leetcode141. 环形链表1.问题描述2.代码思路 3.证明分析 下一题会用到的重要小结论:四.leetcode142. 环形链表II1.问题描述2.问题分析与求解Judgecycle接口:方法一:方法二: 一.前言 单链表和带环单链表OJ题是笔试面试常考的题目,本期是关于带环单链表基础题的刷题小笔记(前两个题的求解过程可以用于求解第三个题哦!)二.leetcode160. 相交链表 leetcode链接:160.相交链表-力扣(Leetcode)1.问题描述给你两个单链表的头节点的地址 headA

数据结构:带环单链表基础OJ练习笔记(leetcode142. 环形链表 II)(leetcode三题大串烧)

目录一.前言 二.leetcode160. 相交链表 1.问题描述2.问题分析与求解三.leetcode141. 环形链表1.问题描述2.代码思路 3.证明分析 下一题会用到的重要小结论:四.leetcode142. 环形链表II1.问题描述2.问题分析与求解Judgecycle接口:方法一:方法二: 一.前言 单链表和带环单链表OJ题是笔试面试常考的题目,本期是关于带环单链表基础题的刷题小笔记(前两个题的求解过程可以用于求解第三个题哦!)二.leetcode160. 相交链表 leetcode链接:160.相交链表-力扣(Leetcode)1.问题描述给你两个单链表的头节点的地址 headA

Leetcode406. 根据身高重建队列

EverydayaLeetcode题目来源:406.根据身高重建队列解法1:贪心题解:根据身高重建队列我们先按照身高从大到小排序(身高相同的情况下K小的在前面),这样的话,无论哪个人的身高都小于等于他前面人的身高。所以接下来只要按照K值将他插入相应的位置就可以了。例如:示例1排完序:[[7,0],[7,1],[6,1],[5,0],[5,2],[4,4]]新建一个二维vector:[7,0]插入第0的位置[7,1]插入第1的位置[6,1]插入第1的位置,这时[7,1]就往后移一位了…代码:/**@lcapp=leetcode.cnid=406lang=cpp**[406]根据身高重建队列*//

力扣(LeetCode)207. 课程表(C++)

拓扑排序根据示例看出,课程表是否存在环,是问题的关键。这题的环,和数组、链表的环不一样,不好判,要转化成图判拓扑序列。考虑向右和向左的方向,拓扑序列的所有边可以指向同一方向。无环图进行重排序,以及延展后,可以生成拓扑序列。考虑有环的性质:即使环外的边已经有序,环内至少有一条边是反向的,无法生成拓扑序列。拓扑排序:队列里维护可以构造拓扑序列的点,每次将入度①_①①​为000的点入队(在图中删除),相邻点的入度减一。如果有环的话,由于环的路径依赖,环内所有点都会有一个无法删除的前驱(入度至少为111),这些点无法入队。完成拓扑排序后,如果所有点入队,则无环,否则有环。名词解释①入度:对于有向图的某

LeetCode - Easy - 746. Min Cost Climbing Stairs

TopicArrayDynamicProgrammingDescriptionlinkYouaregivenanintegerarraycostwherecost[i]isthecostofithsteponastaircase.Onceyoupaythecost,youcaneitherclimboneortwosteps.Youcaneitherstartfromthestepwithindex0,orthestepwithindex1.Returntheminimumcosttoreachthetopofthefloor.Example1:Input:cost=[10,15,20]Out

( 动态规划) 516. 最长回文子序列 ——【Leetcode每日一题】

❓516.最长回文子序列难度:中等给你一个字符串s,找出其中最长的回文子序列,并返回该序列的长度。子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。示例1:输入:s=“bbbab”输出:4解释:一个可能的最长回文子序列为“bbbb”。示例2:输入:s=“cbbd”输出:2解释:一个可能的最长回文子序列为“bb”。提示:1s仅由小写英文字母组成💡思路:动态规划对于一个子序列而言,如果它是回文子序列,并且长度大于2,那么将它首尾的两个字符去除之后,它仍然是个回文子序列。因此可以用动态规划的方法计算给定字符串的最长回文子序列。定义二维dp数组,dp[i][j]表

( 动态规划) 1035. 不相交的线 ——【Leetcode每日一题】

❓1035.不相交的线难度:中等在两条独立的水平线上按给定的顺序写下nums1和nums2中的整数。现在,可以绘制一些连接两个数字nums1[i]和nums2[j]的直线,这些直线需要同时满足满足:nums1[i]==nums2[j]且绘制的直线不与任何其他连线(非水平线)相交。请注意,连线即使在端点也不能相交:每个数字只能属于一条连线。以这种方法绘制线条,并返回可以绘制的最大连线数。示例1:输入:nums1=[1,4,2],nums2=[1,2,4]输出:2解释:可以画出两条不交叉的线,如上图所示。但无法画出第三条不相交的直线,因为从nums1[1]=4到nums2[2]=4的直线将与从nu

刷力扣 LeetCode 算法题需要充值会员吗?

一、刷题成就大家好,我是『负雪明烛』。在过去的这些年里,我的一项业余爱好就是写作算法题解。如今写了上千篇题解了!在CSDN上,我的博客获得了200多万的阅读。在力扣中国题解区,我也获得了180万的阅读。当然,这些多归功于粉丝们的关注与支持!!谢谢各位!!二、需要充值力扣会员吗?我一直都是力扣的会员,因为力扣会员可以看到一些会员才能做的题目,能看到题目被哪些互联网大厂使用过,而且判题速度更快,在每次提交代码之后能很快看到结果!会员的使用体验还是强很多的~~三、负雪明烛粉丝充值会员福利现在力扣中国官方和我合作,给我(负雪明烛)的读者一项专属福利:充值季卡会员,多送2周;充值年卡会员,多送2月!充值

Leetcode每日一题——“用队列实现栈”

各位CSDN的uu们你们好呀,好久没有更新本专栏啦,甚是想念!!!今天,小雅兰的学习内容是用队列实现栈,下面,让我们进入Leetcode的世界吧!!! 这是小雅兰写过的栈和队列的文章,有兴趣的可以看看:栈——“数据结构与算法”_认真学习的小雅兰.的博客-CSDN博客 队列——“数据结构与算法”_认真学习的小雅兰.的博客-CSDN博客如图所示: 这里相当于栈中的Push1234这四个数据可以使用两个队列进行导数据 如果还想再导出一个数据,那么还是同样的方法:  这里相当于栈中两次连续的Pop 如果还想Push56这两个数据,那么:然后再Pop,还是一样的,这次Pop一次,Pop出的就是6啦 好的

看完这篇文章你就彻底懂啦{保姆级讲解}-----(LeetCode刷题27移除元素) 2023.4.18

目录前言算法题(LeetCode27.移除元素)—(保姆级别讲解)分析题目算法思想(重要)暴力解法代码:双指针法(快慢指针法)代码:反思结束语前言本文章一部分内容参考于《代码随想录》----如有侵权请联系作者删除即可,撰写本文章主要目的在于记录自己学习体会并分享给大家,全篇并不仅仅是复制粘贴,更多的是加入了自己的思考,希望读完此篇文章能真正帮助到您!!!算法题(LeetCode27.移除元素)—(保姆级别讲解)力扣题目链接分析题目整形数组删除元素后的新数组可以改变原有的顺序(建议使用双指针法(快慢指针法))如果删除元素后的新数组不可以改变原有的顺序(建议使用双指针法(相向双指针法)相向双指针法