草庐IT

刷题题单

全部标签

算法刷题Day 17 平衡二叉树+二叉树的所有路径+左叶子之和

Day17二叉树计算左右两棵子树的高度,如果有一个高度是-1(有一棵子树不平衡),直接返回-1,否则计算高度差,判断是否不平衡110.平衡二叉树classSolution{inthelper(TreeNode*root){if(!root)return0;intleftDepth=helper(root->left);intrightDepth=helper(root->right);if(leftDepth==-1||rightDepth==-1)return-1;elseif(abs(leftDepth-rightDepth)>1){return-1;}else{returnmax(lef

【算法刷题】第二篇——链表(一)

 个人简介: >📦个人主页:赵四司机>🏆学习方向:JAVA后端开发 >📣种一棵树最好的时间是十年前,其次是现在!>🔔博主推荐网站:牛客网 刷题|面试|找工作神器>💖喜欢的话麻烦点点关注喔,你们的支持是我的最大动力。前言:最近有不少小伙伴私信博主问我马上到秋招了,而自己平时没怎么练过算法,在算法这一块存在很大的弱势,应该怎么快速提升自己的算法水平。在这里我首先要说的是算法能力并不是可以快速掌握的,这需要慢慢积累,因为算法不仅考验我们的知识记忆深度,还考验我们的思维广度,因此很多很多大厂面试都会注重算法的考核。其实博主一开始也没怎么练过算法题,但是对于中等简单的算法题还是可以通过一段时间的刷题来习

【算法刷题】第二篇——链表(一)

 个人简介: >📦个人主页:赵四司机>🏆学习方向:JAVA后端开发 >📣种一棵树最好的时间是十年前,其次是现在!>🔔博主推荐网站:牛客网 刷题|面试|找工作神器>💖喜欢的话麻烦点点关注喔,你们的支持是我的最大动力。前言:最近有不少小伙伴私信博主问我马上到秋招了,而自己平时没怎么练过算法,在算法这一块存在很大的弱势,应该怎么快速提升自己的算法水平。在这里我首先要说的是算法能力并不是可以快速掌握的,这需要慢慢积累,因为算法不仅考验我们的知识记忆深度,还考验我们的思维广度,因此很多很多大厂面试都会注重算法的考核。其实博主一开始也没怎么练过算法题,但是对于中等简单的算法题还是可以通过一段时间的刷题来习

力扣算法刷题Day44|动态规划:完全背包问题 零钱兑换II 组合总和Ⅳ

力扣题目:#518.零钱兑换II(完全背包组合问题)刷题时长:7min解题方法:动态规划(完全背包)复杂度分析时间复杂度:O(mn),其中m是amount,n是coins的长度空间复杂度:O(m)问题总结对递推公式的理解本题收获题意转换:纯完全背包是凑成背包最大价值是多少,而本题是要求凑成总金额的物品组合个数动规思路确定dp数组及下标的含义:凑成总金额j的货币组合数为dp[j]确定递推公式:dp[j]+=dp[j-coins[i]]反向思考递推,当有coins[i]时,就有dp[j-coins]种方法,因为此时凑成目标和的方法解即为j+coins[i],而方法数量不变dp数组的初始化:dp[0

算法刷题Day 15 二叉树的层序遍历+翻转二叉树+对称二叉树

Day15二叉树102.二叉树的层序遍历层序遍历二叉树需要借助到队列classSolution{public:vectorvectorint>>levelOrder(TreeNode*root){if(root==nullptr)return{};queueTreeNode*>que;vectorvectorint>>rst;que.push(root);TreeNode*cur;while(!que.empty()){intlen=que.size();vectorint>level;while(len--){cur=que.front();que.pop();level.push_back

C语言刷题之动态规划入门(一)

目录1.动态规划算法2.跳跃游戏(一)    1.题目    2.初步分析    3.代码实现3.跳跃游戏(二)        1.题目    2.初步分析    3.代码实现1.动态规划算法    动态规划(英语:Dynamicprogramming,简称DP),是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构性质的问题。简单来说,动态规划就是把给定的问题拆分成一个个子问题,直到子问题可以直接解决,和递归不同的是,动态规划可以将子问题的答案储存起来,减少重复计算,大大减少了时

刷题日记01:序列化和反序列化二叉树

一.概念理解:题目如下:https://leetcode.cn/problems/xu-lie-hua-er-cha-shu-lcof/何为序列化?序列化我们可以理解为层序遍历的结果,即将所有的结点的信息,按照层序遍历的结果拼接到一个字符串中,但是与一般的层序遍历有所不同的是:序列化要输出所有的结点信息,而层序遍历一般不会对null结点进行输出。如下:二.解决思路:1.序列化:既然与层序遍历存在相同之处,那么解决思路同样存在相同之处了:我们解决层序遍历的题目时,一般利用辅助队列空间,即创建一个存放结点的LinkedList,判断当前结点是否非空,不为空则加入到队列中,同时设置一个计数器:不断记

【LeetCode】动态规划 刷题训练(九)

文章目录环绕字符串中唯一的子字符串题目解析状态转移方程返回值完整代码最长递增子序列子数组与子序列的区别状态转移方程完整代码摆动序列题目解析状态转移方程f[i]状态转移方程g[i]状态转移方程完整代码环绕字符串中唯一的子字符串点击查看:467.环绕字符串中唯一的子字符串定义字符串base为一个“abcdefghijklmnopqrstuvwxyz”无限环绕的字符串,所以base看起来是这样的:“…zabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcd…”.给你一个字符串s,请你统计并返回s中有多少不同非空子串也在base中出现。示例1:

((蓝桥杯 刷题全集)【备战(蓝桥杯)算法竞赛-第6天(动态规划 专题)】( 从头开始重新做题,记录备战竞赛路上的每一道题 )距离蓝桥杯还有61天

🏆🏆🏆🏆🏆🏆🏆欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录) 文章字体风格:红色文字表示:重难点✔★蓝色文字表示:思路以及想法✔★ 如果大家觉得有帮助的话,感谢大家帮忙点赞!收藏!转发! 我的qq号是:1210931886,欢迎大家加群,一起学习,互相交流,共同进步🎉🎉✨✨🥇🥇🥇🥇🥇🥇🥇蓝桥杯系列,为大家提供做题全集,备战蓝桥杯,就做这个系列的题即可一个大概的做题规划——大家最好在此基础上提前两个月准备备战蓝桥杯就刷这些题第一天博客链接-基础算法-上第二天博客链接-基础算法-下+数据结构专题第三天博客链接-搜索与图论-上专题第四天博客链

((蓝桥杯 刷题全集)【备战(蓝桥杯)算法竞赛-第6天(动态规划 专题)】( 从头开始重新做题,记录备战竞赛路上的每一道题 )距离蓝桥杯还有61天

🏆🏆🏆🏆🏆🏆🏆欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录) 文章字体风格:红色文字表示:重难点✔★蓝色文字表示:思路以及想法✔★ 如果大家觉得有帮助的话,感谢大家帮忙点赞!收藏!转发! 我的qq号是:1210931886,欢迎大家加群,一起学习,互相交流,共同进步🎉🎉✨✨🥇🥇🥇🥇🥇🥇🥇蓝桥杯系列,为大家提供做题全集,备战蓝桥杯,就做这个系列的题即可一个大概的做题规划——大家最好在此基础上提前两个月准备备战蓝桥杯就刷这些题第一天博客链接-基础算法-上第二天博客链接-基础算法-下+数据结构专题第三天博客链接-搜索与图论-上专题第四天博客链