学习这部分还是要多画图,多思考101.对称二叉树题目给你一个二叉树的根节点root,检查它是否轴对称。题目链接力扣(LeetCode)官网-全球极客挚爱的技术成长平台文字和画图分析 明确结束条件和继续递归条件判断是否对称,我们一定是拿左子树和右子树进行对比,(这里的根节点反而没有那么重要)如下图,这是遍历思路图1:图2:从图我们可以知道:结束条件有以下几种情况:当左子树的值不等于右子树的值,返回false当左子树和右子树都为空,返回true(如图一3,4号)当左子树和右子树只有一个为空,返回false(如图二2号)(结束条件有先后顺序,为了防止是空树现象,一定要先验证这个)从图中可以明白,
🐱作者:一只大喵咪1201🐱专栏:《RTOS学习》🔥格言:你只管努力,剩下的交给时间!目录🥩FreeRTOS中的链表🥞初始化🥞尾部插入🥞按顺序插入🥞删除🥩堆的管理🥞heap_1.c🥞heap_2.c🥞heap_4.c🥞heap_5.c🥩总结🥩FreeRTOS中的链表链表是FreeRTOS的核心结构,它让系统的功能正常运行,本喵下面来解释一下FreeRTOS中的链表结构以及操作。如上图所示是FreeRTOS源码中的链表的定义List_t,这是一个链表头,重要的成员变量有三个:volatileUBaseType_tuxNumberOfItems:表示链表中包含的节点个数。ListItem_t*co
大数据:Hadoop刷题2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开测开的话,你就得学数据库,sql,oracle,尤其sql要学,当然,像很多金融企业、安全机构啥的,他们必须要用oracle数据库这oracle比sql安全,强大多了,所以你需要学习,最重要的,你要是考网络警察公务员,这玩意你不会就别去报名了,耽误时间!与此同时,既然要考网警之数据分析应用岗,那必然要考数据挖掘基础知识,今天开始咱们就对数据挖掘方面的东西好生讲讲最最最重要的就是大数据,什么行测和面试都是小问题,最难最最重要的就是大数据技术相关的知识笔试文章目录大数据:H
目录一、链表表示和实现1.1链表的概念及结构 二、链表的分类:2.1实际中要实现的链表的结构非常多样,以下情况组合起来就有8种链表结构: 2.2链表和顺序表的对比三、单链表无头+单向+非循环链表增删查改实现3.2SList.h 3.3打印链表3.4新建一个节点3.5尾插3.6头插3.7头删3.8尾删链表为空:只有一个节点时:有多个节点时:3.9查找3.10在pos的前面插入3.11删除pos位置的值四、SList.c五、Test.c一、链表表示和实现顺序表的问题及思考 问题:1.中间/头部的插入删除,时间复杂度为O(N)2.增容需要申请新空间,拷贝数据,释放旧空间。会有不小的消耗。3.增容一般
第一题:长度最小的子数组力扣(LeetCode)官网-全球极客挚爱的技术成长平台思路:第一想法肯定时暴力枚举,枚举数组任何一个元素,把他当起始位置,然后从起始位置找最短区间,使得区间和大于等于目标值利用两个嵌套for循环,如果符合条件就记录,然后更新结果,返回classSolution{public:intminSubArrayLen(inttarget,vector&nums){//记录结果intret=INT_MAX;intn=nums.size();//枚举出所有满⾜和⼤于等于target的⼦数组[start,end]//由于是取到最⼩,因此枚举的过程中要尽量让数组的⻓度最⼩//枚举开始
涉及到递归,最好多画图理解,希望对你们有帮助100.相同的树题目给你两棵二叉树的根节点p和q,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。题目链接力扣(LeetCode)官网-全球极客挚爱的技术成长平台文字和画图分析思考递归进行的条件和结束的条件是什么列举递归可能会出现的情况针对上面两个问题进行解答:要想找两个树的结构相同有点麻烦,换个思路,我们找它们不同所以我们需要先对比两者的根节点,再去对比左子树和右子树[很明显,我们采取的是前序遍历整个节点]在递归的时候,每一次根节点都发生变化,只要根节点对应的数值不同,就返回false结束递归(
一、LeetCoed62.不同路径题目链接:62.不同路径题目描述:一个机器人位于一个 mxn 网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?示例1:输入:m=3,n=7输出:28示例2:输入:m=3,n=2输出:3解释:从左上角开始,总共有3条路径可以到达右下角。1.向右->向下->向下2.向下->向下->向右3.向下->向右->向下示例3:输入:m=7,n=3输出:28示例4:输入:m=3,n=3输出:6提示:1题目数据保证答案小于等于 2*109算法分析:dp
很多同学都听过快慢指针这个名词,认为它不就是定义两个引用(指针)一前一后吗?是的,它的奥秘很深,它的作用究竟有哪些?究竟可以用来做哪些题目?下面我将一一带你了解和应用下面的本节的大概内容,有疑惑的点,欢迎小伙伴们留言目录1.简述快慢指针2.快慢指针实战讲解1.求链表的中间结点2.链表中倒数第k个结点3.删除排序链表中的所有重复元素3.题型于快慢指针的小总结1.简述快慢指针(1)快慢指针只是一种说法,不是直接定义两个指针;在Java中就没有指针这个概念(2)快慢指针定义两个引用,一般慢指针定义为slow,快指针定义为fast(3)快慢指针常见的思想:1.一般快指针所指向的对象需要满足某个条件,慢
🔥博客主页: 【小扳_-CSDN博客】❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0平衡二叉树 1.1实现判断平衡二叉树的思路 1.2代码实现判断平衡二叉树 2.0二叉树的层序遍历 2.1实现二叉树层序遍历的思路 2.2代码实现二叉树层序遍历 3.0二叉树的最近公共祖先 3.1实现二叉树的最近公共祖先的思路 3.2 代码实现二叉树的最近公共祖先 4.0根据二叉树创建字符串 4.1实现根据二叉树创建字符串的思路 4.2代码实现根据二叉树创建字符串 1.0平衡二叉树题目: 给定一个二叉树
LeetCodeT309买卖股票的最佳时机含冷冻期题目链接:309.买卖股票的最佳时机含冷冻期-力扣(LeetCode)题目思路:这题其实就是将卖出的状态拆分成三个状态1.前两天就卖出并一直保持卖出的状态2.今天卖出的状态3.今天是冷冻期的状态当然还有一个持有的状态下面我们用动规五部曲来分析1.确定dp数组含义dp[i][j]同样表示第i天在第j个状态的最大钱数2.确定递推公式//持有状态要么是之前就是持有状态的延续,要么就是冷冻期结束买入,要么就是卖出状态买入,三者取最大值即可dp[i][0]//卖出持续状态 维持前面的卖出状态或者是冷冻期结束维持卖出状态dp[i][1]//当天卖出状态就