E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
————算法训练————
代码随想录
算法训练
营Day25 | 216. 组合总和III | 17. 电话号码的字母组合
文章目录216.组合总和III17.电话号码的字母组合216.组合总和III题目链接|解题思路和77的组合其实非常相似,甚至这道题中的宽度是固定的(1-9)。需要注意的是,我的解法中使用了sum()来直接求解当前记录的和,如果是传递参数的方式来记录当前和,要记得在回溯的时候也把当前和进行回溯。终止条件:k=0,即当前子集已经取到了k个元素,检查当前子集和即可参数和返回值:两个全局变量,一个记录当前
Kolbe_Huang
·
2024-01-13 16:40
代码随想录算法训练营一刷
算法
python
代码随想录
算法训练
营Day25|216.组合总和III、17.电话号码的字母组合
目录216.组合总和III前言算法实现剪枝处理17.电话号码的字母组合前言思路算法实现总结216.组合总和III题目链接文章链接前言相对于上一题组合,本题就是多了一个限制,要找到和为n的k个数,集合已经是固定的[1,……,6]。本题k相当于树的深度,9就是树的宽度。算法实现classSolution{private:vector>result;vectorpath;voidbacktracking
张金卓2023
·
2024-01-13 16:08
算法
leetcode
数据结构
代码随想录
算法训练
营第四十五天 | 70. 爬楼梯 & 322. 零钱兑换 & 279.完全平方数
1.爬楼梯70.爬楼梯-力扣(LeetCode)背包容量n物品12可以选择多次求排列方式的数量需将target放在外循环,将nums放在内循环。即先确定target值,nums的取法随意背包为外循环且正向遍历,物品为内循环classSolution{publicintclimbStairs(intn){//背包容量n//物品12可以选择多次int[]dp=newint[n+1];//爬n阶有dp种
Widom_
·
2024-01-13 15:57
算法
代码随想录
算法训练
营第四十五天| 70. 爬楼梯(进阶)、322. 零钱兑换、279.完全平方数
LeetCode70.爬楼梯(进阶)链接:70.爬楼梯(进阶)思路:本题之前也用dp做过,这里用了完全背包的思路,物品就是1和2,表示一次可以爬一层或者两层,背包大小就是楼梯,所求的就是用物品(爬一层或者两层)正好装满背包(爬到顶层)的所有排列方式。因为物品可以重复选取,所以是完全背包,题目查找排列方式,所以先遍历背包再遍历物品,递推公式dp[j]+=dp[j-i]。代码:classSolutio
ETSlime
·
2024-01-13 15:56
代码随想录算法训练营
算法
leetcode
动态规划
代码随想录
算法训练
营第四十五天 |70. 爬楼梯 (进阶) 322. 零钱兑换 279.完全平方数
70.爬楼梯假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬1或2个台阶。你有多少种不同的方法可以爬到楼顶呢?输入:n=2输出:2解释:有两种方法可以爬到楼顶。1.1阶+1阶2.2阶之前使用动态规划完成过这道题,当时的递推公式为dp[j]=dp[j-2]+dp[j-1]但是这道题也可以使用背包问题去解决,weight={1,2}背包大小就是n阶利用背包问题的求解的动规五部曲:确定dp及其下标
好吃的蛋奶星星
·
2024-01-13 15:26
算法
动态规划
数据结构
代码随想录
算法训练
营第四十五天|70. 爬楼梯(进阶)|322. 零钱兑换|279.完全平方数
一、70.爬楼梯(进阶)思想:这题很明显是完全背包的题目,并且由于121和211是两种方法,所以是有顺序的。从这两点的话我们可以确定遍历顺序是先背包然后物品,这里比较简单,物品只有两种(1和2)。所以我们只需要写出递归公式即可,由于前面已经做过种类问题,所以我们也有递归公式。最后是初始化,如果dp[0]初始为0,后面都为0,所以这里初始成1.二、322.零钱兑换思想:首先看题,硬币是无限的,可以知
igang of rebirth
·
2024-01-13 15:56
算法
动态规划
数据结构
代码随想录
算法训练
营第四十五天 | 70. 爬楼梯 (进阶),322. 零钱兑换,279.完全平方数
代码随想录
算法训练
营第四十五天|70.爬楼梯(进阶),322.零钱兑换,279.完全平方数1.170.爬楼梯(进阶)思路:完全背包问题dp[i]:爬到有i个台阶的楼顶,有dp[i]种方法dp[i]+=dp
陈成不姓丞
·
2024-01-13 15:56
刷题打卡
算法
动态规划
leetcode
算法训练
营第四十六天|139.单词拆分 多重背包
目录Leetcode139.单词拆分多重背包Leetcode139.单词拆分文章链接:代码随想录题目链接:139.单词拆分思路:完全背包,重点在于状态转移方程的条件。classSolution{public:boolwordBreak(strings,vector&wordDict){unordered_setwordS(wordDict.begin(),wordDict.end());vecto
啊就赵得柱
·
2024-01-13 15:56
算法
代码随想录
算法训练
营第四十五天 | 70. 爬楼梯 (进阶)● 322. 零钱兑换 ● 279.完全平方数
题目链接:70.爬楼梯(进阶)代码随想录我们不是仅仅就走2个,或个3个,而是我们一步可以走一个,两个,3个,4个,一直到m个,这个时候我们,并且到达每个台阶都可以走1-m个台阶,这个时候就需要利用完全背包;一共有n阶台阶,每一个我们都可以走1-m台阶,我们有m件物品,值1-m;问跳到楼顶有多少方法,就是问装满背包有多少方法;动态规划五部曲:1:确定dp含义dp[i]爬到有i个台阶的楼顶的方法有dp
河南第一深情彭于晏
·
2024-01-13 15:56
代码随想录算法训练营
算法
矩阵
leetcode
代码随想录
算法训练
营第四十五天| 70. 爬楼梯 (进阶)、 322. 零钱兑换 、279.完全平方数
70.爬楼梯(进阶)1.2,1不等同于1,2,是排列,可重复使用,完全背包问题classSolution{public:intclimbStairs(intn){vectordp(n+1,0);dp[0]=1;for(inti=0;i=0)dp[i]+=dp[i-j];}}returndp[n];}};322.零钱兑换1.注意初始值以及递推公式classSolution{public:intcoi
小水龟
·
2024-01-13 15:25
代码随想录
算法
动态规划
leetcode
代码随想录
算法训练
营第四十五天 | 70. 爬楼梯 (进阶),322. 零钱兑换 ,279.完全平方数
322.零钱兑换完全背包问题。按照动规五部曲解决问题,自己没有实现出来!classSolution{public:intcoinChange(vector&coins,intamount){vectordp(amount+1,INT_MAX);dp[0]=0;for(inti=0;idp(n+1,INT_MAX);dp[0]=0;for(inti=0;i<=n;i++){for(intj=1;j*
dream_aleaf
·
2024-01-13 15:55
算法
代码随想录
算法训练
营第四十五天|70. 爬楼梯 (进阶)、322. 零钱兑换、279.完全平方数
70.爬楼梯(进阶)322.零钱兑换279.完全平方数复习day14详细布置70.爬楼梯(进阶)这道题目爬楼梯之前我们做过,这次再用完全背包的思路来分析一遍代码随想录322.零钱兑换如果求组合数就是外层for循环遍历物品,内层for遍历背包。如果求排列数就是外层for遍历背包,内层for循环遍历物品。这句话结合本题大家要好好理解。视频讲解:动态规划之完全背包,装满背包最少的物品件数是多少?|Lee
鹌鹑村村长
·
2024-01-13 15:54
代码随想录算法训练营
算法
leetcode
数据结构
动态规划
c++
算法训练
营第四十五天|70. 爬楼梯(进阶版)322. 零钱兑换 279.完全平方数
目录70.爬楼梯(进阶版)Leetcode322.零钱兑换Leetcode279.完全平方数70.爬楼梯(进阶版)文章链接:代码随想录题目链接:卡码网:57.爬楼梯思路:阶梯总数是背包重量,每次几个台阶是物品,求排列总数。#includeusingnamespacestd;voidsolve(intn,intm){vectordp(n+1);dp[0]=1;for(intj=1;j=i)dp[j]
啊就赵得柱
·
2024-01-13 15:54
算法
代码随想录
算法训练
营第27天 | 39. 组合总和 40.组合总和II 131.分割回文串
目录39.组合总和解题思路实现代码40.组合总和II解题思路实现代码131.分割回文串解题思路#判断回文子串实现代码39.组合总和题目链接:39.组合总和给定一个无重复元素的数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。candidates中的数字可以无限制重复被选取。说明:所有数字(包括target)都是正整数。解集不能包含重复
一定可以拿到心仪的offer鸭
·
2024-01-13 14:51
算法
代码随想录
算法训练
营29期Day17|LeetCode 110,257,404
文档讲解:代码随想录110.平衡二叉树题目链接:https://leetcode.cn/problems/balanced-binary-tree/description/思路:本题要求我们判断二叉树每个节点的左右两个子树的高度差的绝对值是否超过1。我们很容易就能想到利用dfs去做,搜索时先搜索左右子节点,返回其高度判断是否差为一,然后递归回到上一场,重复操作即可。核心代码:/***Definit
tlingyuqi
·
2024-01-13 13:52
算法
leetcode
职场和发展
c++
代码随想录
算法训练
营29期Day15|LeetCode 102,226,101
文档讲解:层序遍历翻转二叉树对称二叉树102.二叉树的层序遍历题目链接:https://leetcode.cn/problems/binary-tree-level-order-traversal/description/思路:所谓的层序遍历,其实就是优先按照层遍历嘛,那我们其实可以这么想:找一个容器,容器里放的全都是同一层的节点,那我们如何得到下一层的呢?很简单,把节点挨个取出,把节点的儿子们全
tlingyuqi
·
2024-01-13 13:51
算法
leetcode
职场和发展
c++
代码随想录
算法训练
营29期Day3|LeetCode 203,707,206
文档讲解:代码随想录203.移除链表元素题目链接:https://leetcode.cn/problems/remove-linked-list-elements/思路:题目的本质就是让我们学会如何删除链表中的节点,是否需要删除看节点的值是否与目标值val相同。删除操作其实也很简单,假设链表中我们要删除q节点,经过遍历我们可以得到q前后的两个节点p和r。满足p->next=q,q->next=r。
tlingyuqi
·
2024-01-13 13:21
算法
c++
数据结构
链表
代码随想录
算法训练
营29期Day4|LeetCode 24,19,面试题02.07,142
文档讲解:代码随想录24.两两交换链表中的节点题目链接:https://leetcode.cn/problems/swap-nodes-in-pairs/思路:本题目与LeetCode206题反转链表有异曲同工之秒。在处理两个节点的反转时,分析易知,我们只需要考虑这两个节点本身以及它们前后两个节点共四个节点即可。假设我们当前处理到了这样一段:p->q->r->w。我们如何进行反转呢?很简单,先处理
tlingyuqi
·
2024-01-13 13:21
算法
leetcode
c++
代码随想录
算法训练
营29期Day8|LeetCode 344,541,151,卡码网 54,55
文档讲解:代码随想录344.反转字符串题目链接:https://leetcode.cn/problems/reverse-string/思路:本题目很简单,我们很容易就能发现,所谓的反转其实就是指定位置的两个字符互相交换,因此我们开一个char类型的变量当中间值即可。枚举前一半字符,和后一半互换,就完成了。核心代码:classSolution{public:voidreverseString(ve
tlingyuqi
·
2024-01-13 13:21
算法
leetcode
c++
代码随想录
算法训练
营29期Day2|LeetCode 977,209,59
文档讲解:代码随想录977.有序数组的平方题目链接:https://leetcode.cn/problems/squares-of-a-sorted-array/思路:题目给出的数组保证有序,也就是说在数轴上是一个个点。同时我们知道,在数轴上越靠近0的点绝对值越小,其平方值也就越小。我们首先遍历一遍该有序数组,很容易就能找到绝对值最小的那个点。从这个点为起点,不论向左还是向右,其平方值都是非递减顺
tlingyuqi
·
2024-01-13 13:50
算法
leetcode
c++
代码随想录
算法训练
营29期Day13|LeetCode 239,347
文档讲解:滑动窗口最大值前k个高频元素栈与队列总结239.滑动窗口最大值题目链接:https://leetcode.cn/problems/sliding-window-maximum/submissions/494027196/思路:由于我们需要求出的是滑动窗口的最大值,如果当前的滑动窗口中有两个下标i和j,其中imaxSlidingWindow(vector&nums,intk){intn=n
tlingyuqi
·
2024-01-13 13:19
算法
leetcode
职场和发展
c++
代码随想录
算法训练
营第五十九天 |503. 下一个更大元素 II、42. 接雨水
503.下一个更大元素II题目链接:503.下一个更大元素II暴力法模拟数组出线两遍42.接雨水题目链接:42.接雨水动态规划简单递增栈是从栈头到栈底递增栈顶作为底,栈顶后一个元素作为左边界,当前元素作为右边界
努力刷题的oyyo
·
2024-01-13 09:01
代码随想录
算法训练
营第十六天 | 104.二叉树的最大深度、111.二叉树的最小深度、222.完全二叉树的节点个数
题目链接:leetcode104.二叉树的最大深度文章讲解:代码随想录104.二叉树的最大深度讲解视频讲解:二叉树的高度和深度有啥区别?究竟用什么遍历顺序?很多录友搞不懂|104.二叉树的最大深度思路和解法题目:给定一个二叉树root,返回其最大深度。二叉树的最大深度是指从根节点到最远叶子节点的最长路径上的节点数。想法:今天的题目在学层序遍历的时候都做过。方案一:层序遍历,每遍历到新一层的时候,记
FLTS
·
2024-01-13 07:58
代码随想录
算法刷题打卡合集
算法
c++
代码随想录
算法训练
营第十六天 | 110. 平衡二叉树、257. 二叉树的所有路径、404.左叶子之和
题目链接:leetcode110.平衡二叉树文章讲解:代码随想录110.平衡二叉树讲解视频讲解:后序遍历求高度,高度判断是否平衡|LeetCode:110.平衡二叉树思路和解法题目:给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。想法:肯定是要遍历,那就用递归法,==这里总结一下心得,用递归法深度遍历就要考虑
FLTS
·
2024-01-13 07:55
代码随想录
算法刷题打卡合集
算法
c++
代码随想录
算法训练
营第17天(需复习 |(二叉树4 110.平衡二叉树 257. 二叉树的所有路径 404.左叶子之和
二叉树part04110.平衡二叉树(优先掌握递归)解题思路257.二叉树的所有路径(优先掌握递归)解题思路404.左叶子之和(优先掌握递归)解题思路110.平衡二叉树(优先掌握递归)再一次涉及到,什么是高度,什么是深度,可以巩固一下。题目链接:110.平衡二叉树文章讲解/视频讲解:110.平衡二叉树解题思路二叉树节点的深度:指从根节点到该节点的最长简单路径边的条数。二叉树节点的高度:指从该节点到
芋泥肉松脑袋
·
2024-01-13 07:45
算法
数据结构
java
代码随想录
算法训练
营29期Day16|LeetCode 104,559,111,222
文档讲解:二叉树的最大深度二叉树的最小深度完全二叉树的节点个数104.二叉树的最大深度题目链接:https://leetcode.cn/problems/maximum-depth-of-binary-tree/description/思路:求二叉树的深度,其实本质上还是遍历,需要我们找到叶子节点,统计叶子节点的深度即可。因此我们就有多种思路,总结出来就是两种方法,一种是递归法,也就是深度优先搜索
tlingyuqi
·
2024-01-13 07:11
算法
leetcode
职场和发展
c++
代码随想录
算法训练
营第2天 | 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II
数组理论基础文章链接:https://programmercarl.com/%E6%95%B0%E7%BB%84%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html977.有序数组的平方题目链接:https://leetcode.cn/problems/squares-of-a-sorted-array/description/思路1.暴力排序将每个数平方之后,直接排
Aaron_Yang.
·
2024-01-13 05:09
算法
矩阵
线性代数
代码随想录
算法训练
营第1天 | 704. 二分查找、27. 移除元素
数组理论基础文章链接:https://programmercarl.com/%E6%95%B0%E7%BB%84%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html704.二分查找题目链接:https://leetcode.cn/problems/binary-search/(1)第一种写法:左闭右闭。因为是根据区间的定义,确定循环中的变量的取值。while(left
Aaron_Yang.
·
2024-01-13 05:38
代码随想录算法训练营
算法
代码随想录
算法训练
营第3天 | 203.移除链表元素 ,707.设计链表 , 206.反转链表
数组理论基础文章链接:https://programmercarl.com/%E9%93%BE%E8%A1%A8%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html203.移除链表元素题目链接:https://leetcode.cn/problems/remove-linked-list-elements/这种情况下的移除操作,就是让节点next指针直接指向下下一个节
Aaron_Yang.
·
2024-01-13 05:37
代码随想录算法训练营
算法
链表
数据结构
代码随想录
算法训练
营day2 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II
先说点废话,今天是真的精疲力尽,特别特别累,debug+装carla,明天就可以离职了,回学校安心的刷题了,天天白天上班晚上刷题真的顶不住,太累了。OKOK来到正题吧,第一道题目之前做的现在忘记了,看了一眼题解回想起来了,老规矩先把题目抄下来:977.有序数组的平方给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例1:输入:nums=[-4,-
fzx12138
·
2024-01-13 04:03
leetcode
数据结构
代码随想录
算法训练
营day4 24. 两两交换链表中的节点 ,19.删除链表的倒数第N个节点 ,面试题 02.07. 链表相交 ,142.环形链表II
day会在明天休息日更新一下,昨天有点小事情,okok开始今天的题目。给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。24.两两交换链表中的节点示例1:输入:head=[1,2,3,4]输出:[2,1,4,3]示例2:输入:head=[]输出:[]示例3:输入:head=[1]输出:[1]classSolution
fzx12138
·
2024-01-13 04:03
链表
代码随想录
算法训练
营day3补 203.移除链表元素 , 707.设计链表 ,206.反转链表
203.移除链表元素给你一个链表的头节点head和一个整数val,请你删除链表中所有满足Node.val==val的节点,并返回新的头节点。示例1:输入:head=[1,2,6,3,4,5,6],val=6输出:[1,2,3,4,5]示例2:输入:head=[],val=1输出:[]示例3:输入:head=[7,7,7,7],val=7输出:[]这道题目比较简单,直接就上手coding了class
fzx12138
·
2024-01-13 04:03
链表
数据结构
代码随想录
算法训练
营day1 704. 二分查找、27. 移除元素
首先数组的基本理论在代码随想录网站写的也很明白了,在这里贴出代码随想录的网站代码随想录(programmercarl.com)704.二分查找先把题目拷贝过来:给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。示例1:输入:nums=[-1,0,3,5,9,12],target=9输出:4解释:9出
fzx12138
·
2024-01-13 04:03
数据结构
leetcode
代码随想录
算法训练
营第二天| LeetCode977. 有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II
文章目录LeetCode977.有序数组的平方解法解法一、暴力解法二、双指针代码随想录的代码209.长度最小的子数组暴力解法滑动窗口59.螺旋矩阵II难点分析模拟法解题LeetCode977.有序数组的平方解法这道题有两道解法,首先就是最容易想到的解法,暴力解法其次,这道题也可以使用双指针来解决。双指针我是真的没有想到,卡哥nb!解法一、暴力没啥好说的,平方后排序,或者abs之后排序再平方都行。c
小雨凉如水
·
2024-01-13 03:05
算法
矩阵
线性代数
代码随想录
数组
代码随想录
算法训练
营第一天| LeetCode704. 二分查找、27. 移除元素
文章目录LeetCode704.二分查找1.注意边界值左闭右闭左闭右开2.整数溢出问题常见bugLeetCode27.移除元素库函数解法暴力解法快慢指针总结LeetCode704.二分查找这道是标准的二分查找。关于二分查找,有几个点是值得说的。1.注意边界值二分法常见的写法是左闭右闭和左闭右开。那么问题来了?请问左闭右闭和左闭右开的初始值left和right分别应该怎么写?循环的条件在左闭右闭,左
小雨凉如水
·
2024-01-13 03:04
代码随想录
算法
python
数据结构
leetcode
代码随想录
代码随想录
算法训练
营第三天| LeetCode203.移除链表元素、707.设计链表、206.反转链表
文章目录一、203.移除链表元素感受代码二、707.设计链表感受代码206.反转链表感受总结一、203.移除链表元素感受我对这道题。从理论上来说太熟悉了。咸鱼讲数据结构常用的方法他都会讲。但是我没上机没写过。到后面上机还是写不出来。giao。代码第一次写,想说一下,要注意边界值。我第一次的时候,循环的条件就写错了。我写成whileq.nextandq.next.next了认为删除操作,至少要有三个
小雨凉如水
·
2024-01-13 03:03
算法
链表
python
移除链表元素(简单)——代码随想录
算法训练
营Day03
题目链接:203.移除链表元素题目描述给你一个链表的头节点head和一个整数val,请你删除链表中所有满足Node.val==val的节点,并返回新的头节点。示例1:输入:head=[1,2,6,3,4,5,6],val=6输出:[1,2,3,4,5]示例2:输入:head=[],val=1输出:[]示例3:输入:head=[7,7,7,7],val=7输出:[]提示:列表中的节点数目在范围[0,
晴雪月乔
·
2024-01-13 02:46
代码随想录算法训练营
#
LeetCode
链表
算法
链表
代码随想录算法训练营
反转链表(简单)——代码随想录
算法训练
营Day01
题目链接:206.反转链表题目描述206.反转链表给你单链表的头节点head,请你反转链表,并返回反转后的链表。示例1:输入:head=[1,2,3,4,5]输出:[5,4,3,2,1]示例2:输入:head=[1,2]输出:[2,1]示例3:输入:head=[]输出:[]提示:链表中节点的数目范围是[0,5000]-5000<=Node.val<=5000文章讲解:代码随想录视频讲解:帮你拿下反
晴雪月乔
·
2024-01-13 02:46
代码随想录算法训练营
#
LeetCode
链表
算法
代码随想录算法训练营
链表
螺旋矩阵II(中等)——代码随想录
算法训练
营Day02
题目链接:59.螺旋矩阵II题目描述给你一个正整数n,生成一个包含1到n²所有元素,且元素按顺时针顺序螺旋排列的nxn正方形矩阵matrix。示例1:输入:n=3输出:[[1,2,3],[8,9,4],[7,6,5]]示例2:输入:n=1输出:[[1]]提示:1newArray(n).fill(0));//生成n*n的二维数组letdir=0;//方向0右1下2左3上leti=0,j=0;//当前
晴雪月乔
·
2024-01-13 02:45
代码随想录算法训练营
#
LeetCode
数组
算法
数组
代码随想录算法训练营
设计链表(中等)——代码随想录
算法训练
营Day03
题目链接:707.设计链表题目描述你可以选择使用单链表或者双链表,设计并实现自己的链表。单链表中的节点应该具备两个属性:val和next。val是当前节点的值,next是指向下一个节点的指针/引用。如果是双向链表,则还需要属性prev以指示链表中的上一个节点。假设链表中的所有节点下标从0开始。实现MyLinkedList类:MyLinkedList()初始化MyLinkedList对象。intge
晴雪月乔
·
2024-01-13 02:14
代码随想录算法训练营
#
LeetCode
链表
算法
链表
代码随想录算法训练营
【代码随想录
算法训练
营-第七天】【哈希表】454,383,15,18
454.四数相加II第一遍思路想不出来,除了暴力解法,完全想不出来其他解法,看答案思路了…学习了两个新的方法:getOrDefault:返回指定键对应的值,如果不存在,则返回默认值containsKey:判断是否包含keyclassSolution{publicintfourSumCount(int[]nums1,int[]nums2,int[]nums3,int[]nums4){intcount
不熬夜的靓仔
·
2024-01-12 23:50
代码随想录-力扣刷题
算法
散列表
数据结构
代码随想录
算法训练
营第23天 | 669. 修剪二叉搜索树 108.将有序数组转换为二叉搜索树 538.把二叉搜索树转换为累加树 总结篇
669.修剪二叉搜索树题目链接:669.修剪二叉搜索树给定一个二叉搜索树,同时给定最小边界L和最大边界R。通过修剪二叉搜索树,使得所有节点的值在[L,R]中(R>=L)。你可能需要改变树的根节点,所以结果应当返回修剪好的二叉搜索树的新的根节点。解题思路递归法直接想法就是:递归处理,然后遇到root->valval>high的时候直接returnNULL,一波修改,赶紧利落。不难写出如下代码:cla
一定可以拿到心仪的offer鸭
·
2024-01-12 22:15
算法
数据结构
代码随想录
算法训练
营第24天 | 理论基础 77. 组合
目录理论基础什么是回溯法回溯法的效率回溯法解决的问题如何理解回溯法回溯法模板77.组合解题思路实现代码理论基础什么是回溯法回溯法也可以叫做回溯搜索法,它是一种搜索的方式。回溯法的效率虽然回溯法很难,很不好理解,但是回溯法并不是什么高效的算法。因为回溯的本质是穷举,穷举所有可能,然后选出我们想要的答案,如果想让回溯法高效一些,可以加一些剪枝的操作,但也改不了回溯法就是穷举的本质。那么既然回溯法并不高
一定可以拿到心仪的offer鸭
·
2024-01-12 22:15
算法
数据结构
代码随想录
算法训练
营第20天 | 654.最大二叉树 617.合并二叉树 700.二叉搜索树中的搜索 98.验证二叉搜索树
目录654.最大二叉树解题思路实现代码617.合并二叉树解题思路递归实现代码700.二叉搜索树中的搜索解题思路递归法迭代法实现代码98.验证二叉搜索树解题思路#递归法实现代码654.最大二叉树题目链接:654.最大二叉树给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下:二叉树的根是数组中的最大元素。左子树是通过数组中最大值左边部分构造出的最大二叉树。右子树是通过数组中最大值右边
一定可以拿到心仪的offer鸭
·
2024-01-12 22:45
算法
数据结构
代码随想录
算法训练
营第22天 | 235. 二叉搜索树的最近公共祖先 701.二叉搜索树中的插入操作 450.删除二叉搜索树中的节点
目录235.二叉搜索树的最近公共祖先解题思路实现代码701.二叉搜索树中的插入操作解题思路#递归实现代码450.删除二叉搜索树中的节点解题思路递归实现代码235.二叉搜索树的最近公共祖先题目链接:235.二叉搜索树的最近公共祖先给定一个二叉搜索树,找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树T的两个结点p、q,最近公共祖先表示为一个结点x,满足x是p、q的祖先
一定可以拿到心仪的offer鸭
·
2024-01-12 22:45
算法
代码随想录
算法训练
营第18天 | 513.找树左下角的值 112. 路径总和 113.路径总和ii 106.从中序与后序遍历序列构造二叉树 105.从前序与中序遍历序列构造二叉树
目录513.找树左下角的值解题思路迭代法实现代码112.路径总和解题思路这道题我们要遍历从根节点到叶子节点的路径看看总和是不是目标和。实现代码113.路径总和ii解题思路实现代码106.从中序与后序遍历序列构造二叉树解题思路实现代码105.从前序与中序遍历序列构造二叉树解题思路实现代码513.找树左下角的值题目链接:513.找树左下角的值给定一个二叉树,在树的最后一行找到最左边的值。示例1:示例2
一定可以拿到心仪的offer鸭
·
2024-01-12 22:45
算法
数据结构
代码随想录
算法训练
营第25天 | 216.组合总和III 17.电话号码的字母组合
目录216.组合总和III解题思路回溯三部曲实现代码17.电话号码的字母组合解题思路#数字和字母如何映射#回溯法来解决n个for循环的问题实现代码216.组合总和III题目链接:216.组合总和III找出所有相加之和为n的k个数的组合。组合中只允许含有1-9的正整数,并且每种组合中不存在重复的数字。说明:所有数字都是正整数。解集不能包含重复的组合。示例1:输入:k=3,n=7输出:[[1,2,4]
一定可以拿到心仪的offer鸭
·
2024-01-12 22:13
算法
数据结构
代码随想录
算法训练
营第三十天|332.重新安排行程、51. N皇后、37. 解数独
题目:332.重新安排行程文章链接:代码随想录题目链接:力扣题目链接图释:classSolution{public://unordered_map>targrts;unordered_map>targrts;boolbacktracking(intticketNum,vector&result){//所有机票都要用一次if(result.size()==ticketNum+1){//航线次数+1r
一楼二栋
·
2024-01-12 22:28
算法
c++
leetcode
代码随想录
算法训练
营第二十九天|491.递增子序列、46.全排列、47.全排列 II
题目:491.递增子序列文章链接:代码随想录视频链接:LeetCode:491.递增子序列题目链接:力扣题目链接解法1:classSolution{public:vectorpath;vector>result;voidbacktracking(vector&nums,intstartIndex){//if(startIndexnums[startIndex]){//往下递归,超过子串深度,以及出
一楼二栋
·
2024-01-12 22:58
算法
leetcode
c++
代码随想录
算法训练
营第二十八天|93.复原IP地址,78.子集,90.子集II
题目:93.复原IP地址文章链接:代码随想录视频链接:LeetCode:93.复原IP地址题目链接:力扣题目链接解法1:classSolution{public:vectorresult;boolisIpAddresses(conststring&s,intstart,intend){if(start>end){returnfalse;}if(s[start]=='0'&&start!=end){
一楼二栋
·
2024-01-12 22:58
leetcode
算法
c++
上一页
21
22
23
24
25
26
27
28
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他