草庐IT

LeetCode刷题之树

全部标签

算法沉淀——链表(leetcode真题剖析)

算法沉淀——链表01.两数相加02.两两交换链表中的节点03.重排链表04.合并K个升序链表05.K个一组翻转链表链表常用技巧1、画图->直观形象、便于理解2、引入虚拟"头节点"3、要学会定义辅助节点(比如双向链表的节点插入)4、快慢双指针(判断链表是否有环、找到环的入口、找链表中倒数第n个节点等)链表常用操作1、创建新节点2、头插(比如逆序链表)3、尾插01.两数相加题目链接:https://leetcode.cn/problems/add-two-numbers/给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并

leetcode链表相关题目

文章目录1.移除链表元素方法1:方法22.合并两个有序链表3.链表的中间节点方法1方法24.反转单链表方法1方法25.分割链表6.链表中的倒数第k个节点方法1:方法2:7.环形链表的约瑟夫问题8.链表的回文结构9.相交链表方法1方法2:10.环形链表11.环形链表Ⅱ12.随机链表的复制链表学习完以后,来做点相关题目吧1.移除链表元素方法1:在原链表的基础上直接删除指定元素若当前节点是要删除的节点,则将其前驱节点指向当前节点的下一个节点若当前节点不是要删除的节点,前驱节点指向当前节点,当前节点后移特殊情况:循环判断,若头节点是要删除的节点,则将头节点后移头节点不为空structListNode*

算法学习|Day15-二叉树|Leetcode102二叉树的层序遍历,Leetcode226翻转二叉树,Leetcode101对称二叉树

目录一、Leetcode102二叉树的层序遍历题目描述解题思路方法:长度法总结二、Leetcode226翻转二叉树题目描述解题思路方法一:递归方法二:层序遍历总结三、Leetcode101对称二叉树题目描述解题思路方法:递归总结一、Leetcode102二叉树的层序遍历题目描述给你二叉树的根节点root,返回其节点值的层序遍历。(即逐层地,从左到右访问所有节点)。输入:root=[3,9,20,null,null,15,7]输出:[[3],[9,20],[15,7]]输入:root=[1]输出:[[1]]输入:root=[]输出:[]题目链接:力扣题目链接解题思路层序遍历使用队列控制每层的数量

codeforce:800-900分段刷题总结

1.博弈论WalletExchange爱丽丝和鲍勃很无聊,于是他们决定用自己的钱包玩一个游戏。爱丽丝的钱包里有a枚硬币,而鲍勃的钱包里有b枚硬币。双方轮流玩,由爱丽丝先走棋。在每个回合中,玩家将按顺序执行以下步骤:选择与对手交换钱包,或保留现有钱包。从玩家当前钱包中取出1个硬币。在执行此步骤之前,当前钱包中不能有0枚硬币。无法在自己的回合中做出有效举动的玩家输。如果爱丽丝和鲍勃都以最佳方式下棋,则决定谁将赢得游戏。分析首先每个人必须取出1枚硬币,在取出硬币之前可以选择是否需要交换钱包,说明这种钱包的交换一定是有利于自己的。那么我们可以忽略钱包的交换,直接看硬币总数。因为爱丽丝先手,那么如果硬币

动态规划算法刷题笔记【状压dp】

二进制枚举子集a&1==1判断是否为奇数,如果为1,则为奇数因为奇数二进制末位一定是1,所以与1得到的结果是1例这里,114——第15位是1,可以表示14个1i&(1状态压缩旅行商问题FloydFloydFloyd算法:方格取数问题now∣flag==flagnow|flag==flagnow∣flag==flag——(1代表可以选择,0代表不可以选择):101101011010110001100011000110=10110==flag=10110==flag=10110==flag101101011010110010010100101001=11111!=flag=11111!=flag=

力扣刷题之旅:进阶篇(六)—— 图论与最短路径问题

         力扣(LeetCode)是一个在线编程平台,主要用于帮助程序员提升算法和数据结构方面的能力。以下是一些力扣上的入门题目,以及它们的解题代码。  --点击进入刷题地址 引言         在算法的广阔天地中,图论是一个非常重要的领域。图论问题常常涉及到节点之间的连接关系和路径问题,而最短路径问题则是其中的经典之一。今天,我们就来一起探索一道关于图论与最短路径的经典题目:“单源最短路径问题”。题目描述:        给定一个带权有向图,图中包含n个节点和m条边,每条边都有一个权值表示通过这条边所需的花费。现在,我们需要找出从给定起点到其他所有节点的最短路径。示例:输入:图的邻

基于微信小程序的刷题系统的设计与实现(源码+lw+部署文档+讲解等)

文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言🌞博主介绍:✌全网粉丝15W+,CSDN特邀作者、211毕业、高级全栈开发程序员、大厂多年工作经验、码云/掘金/华为云/阿里云/InfoQ/StackOverflow/github等平台优质作者、专注于Java、小程序技术领域和毕业项目实战,以及程序定制化开发、全栈讲解、就业辅导✌🌞👇🏻精彩专栏推荐订阅👇🏻2023-2024年最值得选的微信小程序毕业设计选题大全:100个热门选题推荐✅2023-

LeetCode动态规划的解题思路

动态规划动态规划,其实就是找规律,总结公式/方程。动态规划,类似于数学归纳法。关键的思想在「自底向上」和「空间换时间」。动态规划,可以使用一维数组,有时也会用到二维数组。应用场景“动态规划”可以用于子序列、最大/小值问题、回文子串的求解。一维数组dp[i]的动态规划的几个步骤:确定数组dp[i]的下标i以及dp[i]值的含义,比如经典的LeetCode70爬楼梯,爬到第i层楼梯,有dp[i]种方法;确定动态规划的状态转移方程(递推公式)。比如,爬楼梯的公式:dp[i]=dp[i-1]+dp[i-2];dp数组的初始化:初始化值,dp[0]的值是多少,dp[1]的值又是多少;确定遍历顺序:分析递

【VScode和Leecode的爱恨情仇】command ‘leetcode.signin‘ not found

文章目录一、关于command‘leetcode.signin‘notfound的问题二、解决方案第一,没有下载Nodejs;第二,有没有在VScode中配置Nodejs第三,力扣的默认在VScode请求地址中请求头错误首先搞定配置其次搞定登入登入方法一:登入方法二解决一下已经登入但是无法再侧边栏展示的问题:解决方案就是降级nodejs版本第四、讨论区一、关于command‘leetcode.signin‘notfound的问题二、解决方案会进入到LeeCode设置中:@ext:LeetCode.vscode-leetcode凡是连接Leecode连接不上的检查一下原因:第一,没有下载Node

基于JAVA+Springboot+Thymeleaf前后端分离项目:刷题在线考试系统设计与实现

 博主介绍:黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。所有项目都配有从入门到精通的基础知识视频课程,学习后应对毕业设计答辩。项目配有对应开发文档、开题报告、任务书、PPT、论文模版等项目都录了发布和功能操作演示视频;项目的界面和功能都可以定制,包安装运行!!!如果需要联系我,可以在CSDN网站查询黄菊华老师在文章末尾可以获取联系方式thymeleaf前后端分离Thymeleaf是用于Java应用的一种模板引擎,它支持前后端分离式开发。这种架构模式下,前端开发者专注于设计和编写静态页