训练营

代码随想录算法训练营第21天 | ● 530.二叉搜索树的最小绝对差 ● 501.二叉搜索树中的众数 ● 236. 二叉树的最近公共祖先 - 第6章 二叉树 part07

第六章 二叉树part07 今日内容 详细布置 530.二叉搜索树的最小绝对差 需要领悟一下二叉树遍历上双指针操作,优先掌握递归 题目链接/文章讲解: 视频讲解: 501.二叉搜索树中的众数 和 530差不多双指针思路,不过 这里涉及到一个很巧妙的代码技巧。 可以先自己做做看,然后看我的视频讲解。 ......
随想录 训练营 祖先 随想 算法

代码随想录算法训练营第20天 | ● 654.最大二叉树 ● 617.合并二叉树 ● 700.二叉搜索树中的搜索 ● 98.验证二叉搜索树 - 第6章 二叉树 part06

第六章 二叉树 part06 今日内容 ● 654.最大二叉树 ● 617.合并二叉树 ● 700.二叉搜索树中的搜索 ● 98.验证二叉搜索树 详细布置 654.最大二叉树 又是构造二叉树,昨天大家刚刚做完 中序后序确定二叉树,今天做这个 应该会容易一些, 先看视频,好好体会一下 为什么构造二叉树 ......
随想录 训练营 随想 算法 代码

代码随想录算法训练营第18天 | ● 513.找树左下角的值 ● 112. 路径总和 113.路径总和ii ● 106.从中序与后序遍历序列构造二叉树 105.从前序与中序遍历序列构造二叉树 - 第6章 二叉树 part05

第六章 二叉树 part05 今日内容 ● 513.找树左下角的值 ● 112. 路径总和 113.路径总和ii ● 106.从中序与后序遍历序列构造二叉树 105.从前序与中序遍历序列构造二叉树 详细布置 找树左下角的值 本地递归偏难,反而迭代简单属于模板题, 两种方法掌握一下 题目链接/文章讲解 ......
总和 序列 路径 随想录 训练营

代码随想录算法训练营第17天 | ● 110.平衡二叉树 ● 257. 二叉树的所有路径 ● 404.左叶子之和 - 第6章 二叉树 part04

第六章 二叉树part04 今日内容: ● 110.平衡二叉树 ● 257. 二叉树的所有路径 ● 404.左叶子之和 详细布置 迭代法,大家可以直接过,二刷有精力的时候 再去掌握迭代法。 110.平衡二叉树 (优先掌握递归) 再一次涉及到,什么是高度,什么是深度,可以巩固一下。 题目链接/文章讲解 ......
随想录 之和 训练营 随想 算法

代码随想录算法训练营第17天 | ● 654.最大二叉树 ● 617.合并二叉树 ● 700.二叉搜索树中的搜索 ● 98.验证二叉搜索树 - 第6章 二叉树 part06

第六章 二叉树 part06 今日内容 ● 654.最大二叉树 ● 617.合并二叉树 ● 700.二叉搜索树中的搜索 ● 98.验证二叉搜索树 详细布置 654.最大二叉树 又是构造二叉树,昨天大家刚刚做完 中序后序确定二叉树,今天做这个 应该会容易一些, 先看视频,好好体会一下 为什么构造二叉树 ......
随想录 训练营 随想 算法 代码

代码随想录算法训练营第16天 | ● 104.二叉树的最大深度 559.n叉树的最大深度 ● 111.二叉树的最小深度 ● 222.完全二叉树的节点个数 - 第6章 二叉树 part03

第六章 二叉树part03 今日内容: ● 104.二叉树的最大深度 559.n叉树的最大深度 ● 111.二叉树的最小深度 ● 222.完全二叉树的节点个数 迭代法,大家可以直接过,二刷有精力的时候 再去掌握迭代法。 详细布置 104.二叉树的最大深度 (优先掌握递归) 什么是深度,什么是高度,如 ......
深度 随想录 训练营 节点 随想

代码随想录算法训练营第15天 | ● 层序遍历 10 ● 226.翻转二叉树 ● 101.对称二叉树 2 - 第6章 二叉树 part02

第六章 二叉树 part02 今日内容: ● 层序遍历 10 ● 226.翻转二叉树 ● 101.对称二叉树 2 详细布置 层序遍历 看完本篇可以一口气刷十道题,试一试, 层序遍历并不难,大家可以很快刷了十道题。 题目链接/文章讲解/视频讲解:https://programmercarl.com/0 ......
随想录 训练营 随想 算法 代码

代码随想录算法训练营第二十天|654. 最大二叉树、617. 合并二叉树、700. 二叉搜索树中的搜索、98. 验证二叉搜索树

【参考链接】 654. 最大二叉树 【注意】 1.构造二叉树,都需要用前序遍历。 2.二叉树的根是数组中的最大元素。 3.没必要构造新数组,通过下标控制左右区间。运行效率会高很多。 【代码】 1 # Definition for a binary tree node. 2 # class TreeN ......
随想录 训练营 随想 算法 代码

代码随想录算法训练营第十八天|513. 找树左下角的值、112. 路径总和

【参考链接】 513. 找树左下角的值 【注意】 1.用递归的话就就一直向左遍历,但是到最后一个,它未必是最后一行。是要找到树的最后一行的最左边的值。(不一定是指是左孩子) 2.如果使用递归法,如何判断是最后一行呢,其实就是深度最大的叶子节点一定是最后一行。 3.只要是优先遍历左都可以,所以前中后序 ......
随想录 训练营 总和 随想 算法

代码随想录算法训练营第十七天|110. 平衡二叉树、257. 二叉树的所有路径

【参考链接】 110. 平衡二叉树 【注意】 1.一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 2.求高度一定要用后序遍历。 【代码】 1 # Definition for a binary tree node. 2 # class TreeNode(obj ......
随想录 训练营 随想 算法 路径

代码随想录算法训练营第十六天|104. 二叉树的最大深度、559. N 叉树的最大深度、111. 二叉树的最小深度、222. 完全二叉树的节点个数

【参考链接】 104. 二叉树的最大深度 【注意】 1. 二叉树节点的深度:指从根节点到该节点的最长简单路径边的条数或者节点数(取决于深度从0开始还是从1开始)。 二叉树节点的高度:指从该节点到叶子节点的最长简单路径边的条数或者节点数(取决于高度从0开始还是从1开始)。 2.根节点的高度就是二叉树的 ......
深度 随想录 训练营 节点 随想

代码随想录算法训练营第十五天|102. 二叉树的层序遍历、226. 翻转二叉树、101. 对称二叉树

【参考链接】 102. 二叉树的层序遍历 【注意】 1.队列先进先出,符合一层一层遍历的逻辑,而用栈先进后出适合模拟深度优先遍历也就是递归的逻辑。而这种层序遍历方式就是图论中的广度优先遍历,只不过我们应用在二叉树上。 2.遍历的时候要记录队列的大小。就可以知道哪些元素是第几层的。 3.记得首先要判断 ......
随想录 训练营 随想 算法 代码

代码随想录算法训练营第十四天|144. 二叉树的前序遍历、145. 二叉树的后序遍历、94. 二叉树的中序遍历

【参考链接】 1.满二叉树,完全二叉树,二叉搜索树(有数值,有序树)。 2.平衡二叉搜索树:又被称为AVL(Adelson-Velsky and Landis)树,且具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。 3.优先级队列其实是一个堆 ......
随想录 训练营 随想 算法 代码

代码随想录算法训练营第14天 | ● 理论基础 ● 递归遍历 ● 迭代遍历 ● 统一迭代 - 第5章 栈与队列part04

第六章 二叉树part01 今日内容: ● 理论基础 ● 递归遍历 ● 迭代遍历 ● 统一迭代 详细布置 理论基础 需要了解 二叉树的种类,存储方式,遍历方式 以及二叉树的定义 文章讲解:https://programmercarl.com/%E4%BA%8C%E5%8F%89%E6%A0%91%E ......
随想录 队列 训练营 随想 算法

代码随想录算法训练营第13天 | ● 239. 滑动窗口最大值 ● 347.前 K 个高频元素 ● 总结 - 第5章 栈与队列part03

第五章 栈与队列part03 今日内容: ● 239. 滑动窗口最大值 ● 347.前 K 个高频元素 ● 总结 详细布置 239. 滑动窗口最大值 (一刷至少需要理解思路) 之前讲的都是栈的应用,这次该是队列的应用了。 本题算比较有难度的,需要自己去构造单调队列,建议先看视频来理解。 题目链接/文 ......
随想录 最大值 队列 训练营 随想

代码随想录算法训练营第10天 | ● 理论基础 ● 232.用栈实现队列 ● 225. 用队列实现栈 - 第5章 栈与队列part01

第五章 栈与队列part01 ● day 1 任务以及具体安排:训练营一期day 1 ● day 2 任务以及具体安排:day 2 第一章数组 ● day 3 任务以及具体安排:day 3 第二章 链表 ● day 4 任务以及具体安排:day 4 第二章 链表 ● day 5 周日休息 ● day ......
队列 随想录 训练营 随想 算法

代码随想录算法训练营第11天 | ● 20. 有效的括号 ● 1047. 删除字符串中的所有相邻重复项 ● 150. 逆波兰表达式求值 - 第5章 栈与队列part02

第五章 栈与队列part02 今日内容: ● 20. 有效的括号 ● 1047. 删除字符串中的所有相邻重复项 ● 150. 逆波兰表达式求值 详细布置 20. 有效的括号 讲完了栈实现队列,队列实现栈,接下来就是栈的经典应用了。 大家先自己思考一下 有哪些不匹配的场景,在看视频 我讲的都有哪些场景 ......
随想录 括号 队列 训练营 表达式

代码随想录算法训练营第9天 | ●28. 实现 strStr() ●459.重复的子字符串 ●字符串总结 ●双指针回顾 - 第4章 字符串part02

第四章 字符串part02 今日任务 ● 28. 实现 strStr() ● 459.重复的子字符串 ● 字符串总结 ● 双指针回顾 详细布置 28. 实现 strStr() (本题可以跳过) 因为KMP算法很难,大家别奢求 一次就把kmp全理解了,大家刚学KMP一定会有各种各样的疑问,先留着,别期 ......
字符串 字符 随想录 训练营 指针

代码随想录算法训练营第十三天|239. 滑动窗口最大值、347. 前 K 个高频元素

【参考链接】 239. 滑动窗口最大值 【注意】 1.使用单调队列的经典题目。 2.大顶堆每次只能弹出最大值,无法移除其他数值,造成大顶堆维护的不是滑动窗口里面的数值了。所以不能用大顶堆。 3.需要一个队列,放进去窗口里的元素,然后随着窗口的移动,队列也一进一出,每次移动之后,队列告诉我们里面的最大 ......
随想录 最大值 训练营 随想 算法

【代码随想录算法训练营第一天】704. 二分查找、27. 移除元素

# Day1-数组 ## Leetcode704 [二分查找](https://leetcode.cn/problems/binary-search/) ### 初解 已经不记得二分查找了,遍历找O(n)其实也过了,只是借此复习一下二分,确实快很多。 二分的前提条件题目里也都明示了:无重复,(从小到 ......
随想录 训练营 随想 算法 元素

代码随想录算法训练营第十一天|20. 有效的括号、1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值

【参考链接】 20. 有效的括号 【注意】 1.括号匹配是使用栈解决的经典问题。 2.这个命令最后进入a目录,系统是如何知道进入了a目录呢 ,这就是栈的应用(其实可以出一道相应的面试题了)。 3.有三种不匹配的情况,第一种情况,字符串里左方向的括号多余了 ;第二种情况,括号没有多余,但是 括号的类型 ......

代码随想录算法训练营第8天 | ● 344.反转字符串 ● 541. 反转字符串II ● 剑指Offer 05.替换空格 ● 151.翻转字符串里的单词 ● 剑指Offer58-II.左旋转字符串 - 第4章 字符串part01

第四章 字符串part01 今日任务 ● 344.反转字符串 ● 541. 反转字符串II ● 剑指Offer 05.替换空格 ● 151.翻转字符串里的单词 ● 剑指Offer58-II.左旋转字符串 详细布置 344.反转字符串 建议: 本题是字符串基础题目,就是考察 reverse 函数的实现 ......
字符串 字符 随想录 左旋 Offer

代码随想录算法训练营第七天 | 454.四数相加II 、383.赎金信 

📋目录 ✅ 454.四数相加II ➡️ 383.赎金信 ➡️ 15.三数之和 ➡️ 18.四数之和 454.四数相加II ⏰ 1.解题思路 定义一个map,key用来存放a和b的两数之和,value用来存两数之和出现的次数 将四个数组两两分组,nums1和nums2、nums3 和 nums4 定 ......
随想录 训练营 随想 算法 代码

代码随想录算法训练营14期 Day1

数组理论基础 原文:https://github.com/youngyangyang04/leetcode-master/blob/master/problems/数组理论基础.md 704. 二分查找 解析链接:https://programmercarl.com/0704.二分查找.html#_ ......
随想录 训练营 随想 算法 代码

【2023 · CANN训练营第一季】昇腾AI入门Pytorch

昇腾AI全栈架构 华为AI全栈全场景解决方案为4层,分别为芯片层、芯片使能层、AI框架层和应用使能层。 芯片 基于统一、可扩展架构的系列化AI IP和芯片,为上层加速提供硬件基础。 芯片产品:昇腾310和昇腾910的独立芯片,Nano-Tiny-Lite的非独立芯片。 Ascend层,一切集成电路的 ......
训练营 Pytorch 2023 CANN 183

代码随想录算法训练营第六天 | 242.有效的字母异位词 、349. 两个数组的交集 、 202. 快乐数 、 1. 两数之和

📋目录 ✅ 242.有效的字母异位词 ➡️ 349.两个数组的交集 ➡️ 202.快乐数 ➡️ 1.两数之和 242.有效的字母异位词 ⏰ 1.解题思路 创建一个新数组,用来记录字符串中字符出现的次数 相当于将字符映射到数组也就是哈希表的索引下标上 遍历第一个字符串,将出现的字符次数记录+1,关键 ......
随想录 之和 训练营 数组 交集

代码随想录算法训练营第四天 | 24.两两交换链表

📋 目录 24.两两交换链表 24.两两交换链表 ⏰ 1.解题思路 两两元素交换,前面需要一个虚拟节点,才能对后面两个元素进行操作 根据链表的元素个数是奇数还是偶数,得到循环退出的条件。 为偶数,temp.next = null时,即虚拟头节点的下一个节点为null,跳出循环。 为奇数,temp. ......
随想录 训练营 随想 算法 代码

代码随想录算法训练营第三天 | 203.移除链表元素

📋 目录 203.移除链表元素 203.移除链表元素 ⏰ 1.解题思路 链表:A->B->C 删除的节点分为两种:在链表中间部分的节点和头节点,两种节点删除思路不同。 头节点:将头节点向后移动一个位置,删除原来的头节点。 链表中间部分的节点:A节点的next指针指向C节点,从而从链表中删掉B节点, ......
随想录 训练营 随想 算法 元素

代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素。

#目录 一、基础知识 - 二分法解题思路 - 数组中删除的思路 二、题目一:704.二分查找 三、题目二:27.移除元素 #一、基础知识 1.二分法解题思路 要求数组必须是有序排列,仅需要根据题目的条件去确定搜索区间。 第一个关键点:区间的取值。 一般有左闭右闭,左闭右开,左开右闭三种,这个的选择不 ......
随想录 训练营 随想 算法 元素

代码随想录算法训练营Day01 | LeetCode704 二分查找、Leetcode27 移除元素

今日学习的视频和文章 代码随想录数组基础 复习基础知识 代码随想录 二分查找 代码随想录 移除元素 LeetCode704 二分查找 题目链接:704. 二分查找 - 力扣(Leetcode) 以前学二分查找的时候,真的一直搞不清楚怎么操作左边界和有边界,以及循环的终止条件是什么,总是自己慢慢调试出 ......
随想录 训练营 随想 算法 LeetCode