- 2024-12-08鸿蒙UI开发快速入门 —— part03: 组件的生命周期
1. 什么是组件的生命周期组件的生命周期是我们开发一个组件必须要关注的内容,组件的生命周期,指的是组件的创建、渲染、销毁等过程。因为这个过程就类似于人从出生到离世的过程,从而称为:组件的生命周期。只有了解了组件的生命周期,我们才能开发出一个流畅的用户界面。2. 页面&
- 2024-12-05贪心算法 part03
文章参考来源代码随想录134.加油站方法一分类讨论:情况一:如果gas的总和小于cost总和,那么无论从哪里出发,一定是跑不了一圈的情况二:rest[i]=gas[i]-cost[i]为一天剩下的油,i从0开始计算累加到最后一站,如果累加没有出现负数,说明从0出发,油就没有断过,那么0就是起点。情况三:如
- 2024-11-29回溯算法part03
文章参考来源代码随想录93.复原IP地址1.递归参数字符串(不能加const因为要在字符串上加‘.’,因此本题不用组合,直接将字符串加入到结果中),当前层递归开始遍历的地方,计数器(记录‘.’的个数)2.递归终止条件当计数器到达3时(说明分成四段了),判断最后一段是否满足区间函数,若满足加
- 2024-09-22【代码随想录Day24】回溯算法Part03
93.复原IP地址题目链接/文章讲解:代码随想录视频讲解:回溯算法如何分割字符串并判断是合法IP?|LeetCode:93.复原IP地址_哔哩哔哩_bilibiliclassSolution{List<String>result=newArrayList<>();LinkedList<String>path=newLinkedList<>();publicL
- 2024-09-20leetcode刷题day24|回溯算法Part03(93.复原IP地址、78.子集、90.子集II)
93.复原IP地址思路:这个题和131.分割回文串一样都是对字符串进行分割,只不过这个子字符串判断时是看是不是0-225之间的数字。回溯三部曲:1、递归函数参数:全局变量:String数组result存放结果集。递归函数参数:原字符串;startIndex,因为切割过的地方不能重复切割,和组合问题是一样
- 2024-09-11Day13 二叉树part03| LeetCode 110.平衡二叉树,二叉树的所有路径,左叶子之和,完全二叉树的节点个数
110.平衡二叉树110.平衡二叉树定义:左右子树的高度差的绝对值不超过1深度:从上到下查——>前序遍历(中左右)高度:从下到上查——>后序遍历(左右中)classSolution{publicbooleanisBalanced(TreeNoderoot){if(getHeight(root)==-1)
- 2024-08-11栈和队列part03
今天学习了队列的常见题型:滑动窗口最大值,先进先出不难想到队列,最大值可以考虑优先队列,但是此题还是典型的单调队列(需要自己实现)前k个高频元素,维护最大值常用优先队列,注意选的最小堆7.239滑动窗口最大值(队列)题目:给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左
- 2024-08-09Day24 第七章 回溯算法part03
目录任务78.子集思路90.子集II思路93.复原IP地址思路心得体会任务78.子集给你一个整数数组nums,数组中的元素互不相同。返回该数组所有可能的子集(幂集)。解集不能包含重复的子集。你可以按任意顺序返回解集。思路和组合问题类似,思路是从序列中每次选一个,选的深度
- 2024-08-01DAY 15 二叉树part03
110.平衡二叉树(优先掌握递归)题目链接/文章讲解/视频讲解:https://programmercarl.com/0110.%E5%B9%B3%E8%A1%A1%E4%BA%8C%E5%8F%89%E6%A0%91.html 独立完成,感觉还比较好理解12classSolution{13public:14boolisBalanced(TreeNode*root){15if(
- 2024-07-31Day 29 贪心算法 Part03
今天的题目真是给我做恶心了134.加油站暴力方法很容易写出来,但在力扣上运行会超时。classSolution{int[]gas;int[]cost;publicintcanCompleteCircuit(int[]gas,int[]cost){this.gas=gas;this.cost=cost;for(inti=
- 2024-07-17Day 15 二叉树part03
110.平衡二叉树classSolution{publicbooleanisBalanced(TreeNoderoot){if(root==null)returntrue;returnisBalanced(root.left)&&isBalanced(root.right)&&Math.abs(hight(root.left)-hight(root.right))
- 2024-04-2941天【代码随想录算法训练营34期】第九章 动态规划part03 (● 343. 整数拆分 ● 96.不同的二叉搜索树 )
343.整数拆分classSolution:defintegerBreak(self,n:int)->int:dp=[0]*(n+1)dp[2]=1foriinrange(3,n+1):forjinrange(1,i//2+1):dp[i]=max(dp[i],(i-j)*j,dp[i-j]*j)
- 2023-09-23[代码随想录]Day52-单调栈part03
题目:84.柱状图中最大的矩形思路:实现要确定一个核心问题:包含完整一个柱子的最大矩形要找到这根柱子左侧最后一个高于他的柱子以及右侧最后一个高于他的柱子的位置(等同于左侧第一个小于他,右侧第一个小于他,因为+1-1就是)只要get到一个点,比如:30507080607040这一段柱子,在
- 2023-09-18## day13 - 栈与队列part03
day13-栈与队列part03力扣239.滑动窗口的最大值思路:利用单调队列,很难想的出来。因为每次是进一个数,弹出一个数,因此没必要每次都进行排序,只需要拿到最大值即可。用单调队列实现,是一个双向队列pop()函数:如果要pop的值是队列头部的值,那么就弹出,否则不操作。push()函数:如果
- 2023-08-28[代码随想录]Day29-贪心算法part03
题目:1005.K次取反后最大化的数组和思路:思路是:先把负数从小到大变成正数(即绝对值由大到小)如果还需要变化(k>0),就变化最小的数在第一步变化的同时顺便记录一个数组和,那么结束之后会有三种情况:k==0;也就是说负数的个数大于等于k,直接返回结果k%2==0;此时全是正整数,
- 2023-08-17Vue学习笔记:Vuex Part03 Action
定义ActionAction类似于mutation,不同在于:Action提交的是mutation,而不是直接变更状态。Action可以包含任意异步操作。示例conststore=createStore({state:{count:0},mutations:{increment(state){state.count++}},actions:{
- 2023-08-07[代码随想录]Day11-栈与队列part03
题目:239.滑动窗口最大值思路:说实话这题真不能说是困难题,麻烦是麻烦点但是比较容易实现。维护一个单调队列,队列内是由大到小排序(数组内的顺序是由小到大的),每次移动都会进行两次判断:如果前面去掉的数就是队列的首部,那么就要把首部移除如果后面添加的数比队尾的元素要大就
- 2023-07-18代码随想录算法训练营第60天 | ● 84.柱状图中最大的矩形 - 第10章 动态规划part03
第十章 单调栈part03有了之前单调栈的铺垫,这道题目就不难了。 ● 84.柱状图中最大的矩形 今天是训练营最后一天,恭喜坚持两个月的录友们,接下来可以写一篇自己 代码随想录一刷的总结。好好回顾一下,这两个月自己的博客内容,以及自己的收获。
- 2023-06-16算法学习day60单调栈part03-84
packageLeetCode.stackpart03;/***84.柱状图中最大的矩形**/publicclassLargestRectangleHistogram_84{publicintlargestRectangleArea(int[]heights){intlength=heights.length;int[]minLeftIndex=newint[length];int
- 2023-06-01算法学习day41动态规划part03-343、96
packageLeetCode.DPpart03;/***343.整数拆分*给定一个正整数n,将其拆分为k个正整数的和(k>=2),并使这些整数的乘积最大化。*返回你可以获得的最大乘积。*示例:*输入:n=2*输出:1*解释:2=1+1,1×1=1。**/publicclassIntegerBre
- 2023-05-30算法学习day34贪心part03-1005、134、135
packageLeetCode.greedypart03;/***1005.K次取反后最大化的数组和*给你一个整数数组nums和一个整数k,按以下方法修改该数组:*选择某个下标i并将nums[i]替换为-nums[i]。*重复这个过程恰好k次。可以多次选择同一个下标i。*以这种方式修改数组后,返回
- 2023-05-23代码随想录算法训练营第13天 | ● 239. 滑动窗口最大值 ● 347.前 K 个高频元素 ● 总结 - 第5章 栈与队列part03
第五章 栈与队列part03今日内容: ● 239. 滑动窗口最大值● 347.前 K 个高频元素● 总结 详细布置 239. 滑动窗口最大值 (一刷至少需要理解思路) 之前讲的都是栈的应用,这次该是队列的应用了。 本题算比较有难度的,需要自己去构造
- 2023-05-10算法学习day13栈与队列part03-239、347
packageLeetCode.StackAndQueuepart03;importjava.util.ArrayDeque;/***239.滑动窗口最大值*给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。*你只可以看到在滑动窗口内的k个数字。滑动窗口每次只向右移动一位。*返回滑动