训练营

day06 代码随想录算法训练营 242. 有效的字母异位词

题目:242. 有效的字母异位词 我的感悟: 卡尔的思路,挺好。简单易懂。 理解难点: 没有难点 总结概况: 建立数组存 遍历一遍 ++ 遍历一遍 -- 再遍历一遍 判断0 代码示例: class Solution: def isAnagram(self, s: str, t: str) -> bo ......
随想录 训练营 随想 算法 字母

day04 代码随想录算法训练营 24. 两两交换链表中的节点

题目:24. 两两交换链表中的节点 我的感悟: 我感觉,python中对链表的概念,很弱。 链表在现在语言中,用的不多。 先搁置。 理解难点: 可以看懂代码。 总结概括: 代码示例: # Definition for singly-linked list. # class ListNode: # d ......
随想录 训练营 节点 随想 算法

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

一、654.最大二叉树 题目链接: LeetCode 654.最大二叉树 学习: 思路: 前序遍历 方法参数:(int[] nums, int start, int end) 返回类型:TreeNode 终止条件: if(end-start==0) return null; if(end-start ......
随想录 训练营 随想 算法 代码

day03 代码随想录算法训练营 206. 反转链表

题目:206. 反转链表 我的感悟: 理解cur是什么? 相信自己!! 代码难点: cur = head 可以省略不 每一个步骤里的cur是什么 代码示例: # Definition for singly-linked list. # class ListNode: # def __init__(s ......
随想录 训练营 随想 算法 代码

2023CANN训练营第2季————Ascend C算子Tiling切分原理与实战

使用Ascend C进行昇腾AI芯片算子开发,开发者仅需要把关注点放在数据切分和计算逻辑实现上。固定shape算子切分相对简单,动态shape的算子需要如何去实现呢?本篇笔记从复习切分的基本概念出发,讲述了一种动态shape的切分方法,并编程进行了验证。 ......
算子 训练营 实战 原理 Ascend

代码随想录算法训练营第14天 | lc104、lc111、lc222

(本合集全部为Go语言实现) 相关文章链接:104题解 111题解 222题解 相关视频链接: Leetcode104 状态:这种简便的写法一开始忘了,看了题解才想到 实现过程中的难点:需要首先明确最终答案的得出是模拟了那种遍历方式 个人写法 func maxDepth(root *TreeNode ......
随想录 训练营 随想 算法 lc

代码随想录算法训练营第13天 | 树的层序遍历、lc226、lc101

(本合集全部为Go语言实现) 相关文章链接:层序遍历题解 226题解 101题解 相关视频链接: Leetcode102 状态:迭代写法秒了,递归写法确实吗,没太能想到 实现过程中的难点:递归写法中,思想要转变。迭代写法是真正的按层遍历,递归写法是以类似深度优先的方式将遍历结果放到不同的层级的集合当 ......
随想录 训练营 随想 算法 代码

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

一、513.找树左下角的值 题目链接: LeetCode 513.找树左下角的值 学习前: 思路: 层序遍历。采用递归和迭代两种方式 递归:定义最大深度和目标值两个成员变量,方法参数是结点和当前结点的深度;返回类型为void;终止条件为结点为空;单次循环内容为判断该节点是否符合目标要求,且分别传入左 ......
总和 序列 路径 随想录 训练营

代码随想录算法训练营第12天 | 树的遍历

(本合集全部为Go语言实现) 相关文章链接:递归遍历 迭代遍历 统一迭代法 相关视频链接: Leetcode94 状态: 实现过程中的难点:迭代法的模拟过程比较难想 个人写法 递归方式 func inorderTraversal(root *TreeNode) []int { var res []i ......
随想录 训练营 随想 算法 代码

day03 代码随想录算法训练营 203. 移除链表元素

题目: 203. 移除链表元素 我的感悟: 题目里的节点是已经给好的, 创建虚拟节点,是为了方便处理头节点。 加油,我可以的!!!!! 理解难点: 节点已经给好的 创建虚拟节点 代码难点: p是临时变量,类似于for i in range(10) 这里的i,本身是用完就扔的。 返回值为什么不能是p. ......
随想录 训练营 随想 算法 元素

代码随想录算法训练营第11天 | lc239、lc347

(本合集全部为Go语言实现) 相关文章链接:239题解 347题解 相关视频链接: Leetcode239 状态:记得是单调队列,但实际忘了实现细节,想了很久 实现过程中的难点:首先是得想到用单调队列解题,其次要搞明白单调队列的入队和出队的实现细节 本题中单调队列的细节 为什么不是优先队列:优先队列 ......
随想录 训练营 随想 算法 代码

代码随想录算法训练营第十七天 | 110.平衡二叉树,257. 二叉树的所有路径,404.左叶子之和

一、110.平衡二叉树 题目链接: LeetCode 110.平衡二叉树 学习: 思路: 后序遍历。实际上是由叶结点到根结点,若有一颗子树不是平衡二叉树,则直接返回给根结点 二、257.二叉树的所有路径 题目链接: LeetCode 257.二叉树的所有路径 学习: 思路: 递归+回溯。因为是线=先 ......
随想录 之和 训练营 随想 算法

day02 代码随想录算法训练营 209. 长度最小的子数组

题目: 209. 长度最小的子数组 我的感悟: 滑动窗口, 每次计算当前位置的值, 满足要求就缩小, 这样左右两个指针都不回退。一直右走。 这个原理,还没太理解,感觉要在看看左神的视频。 理解难点: 为什么可以不回退。 代码难点: for 循环右边界 里面while判断是否满足要求 总结概括: 无 ......
随想录 训练营 数组 随想 算法

day02 代码随想录算法训练营 977. 有序数组的平方

题目: 977. 有序数组的平方 我的感悟: 这道题,仔细观察,平方后两头的大。 用双指针,取两头,放到新的数组里。 新数组要求排序 所以,新的数组从后往前放 理解难点: 无他,多练习。 代码难点: 无 总结概括: 双指针 代码示例: class Solution: def sortedSquare ......
随想录 训练营 数组 随想 算法

day01 代码随想录算法训练营 27. 移除元素

题目: 27. 移除元素 感悟: 用快慢指针。 本题是要原地删除。 而删除这个行为在真实的计算机的数组里,是覆盖。 所以,就用两个指针,(人) 一个跑的快,一个跑的慢。他们身上带了个对讲机。 跑的快的那个人负责检测后面的数字符合要求不,比如,要不等于3的,遇到一个2,告诉跑的慢的说2符合要求。遇到一 ......
随想录 训练营 随想 算法 元素

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

一、104.二叉树的最大深度 题目链接: LeetCode 104. 二叉树的最大深度 学习: 思路: 分别求左子树和右子树的高度,返回给根结点,加1之后是根结点的深度,这是后序遍历的思路 二、559.n叉树的最大深度 题目链接: LeetCode 559. N 叉树的最大深度 学习前: 思路: 后 ......
深度 随想录 训练营 节点 随想

day01 代码随想录算法训练营 704. 二分查找

题目: leetcode 704. 二分查找 感悟: 困扰我多年的二分查找对于边界的判断,我终于理解了。 难点: 难点1:定边界right right = len(nums)还是len(nums)-1 难点2:while循环 while left < right 还是 left <= right 难 ......
随想录 训练营 随想 算法 代码

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

一、二叉树层序遍历 题目链接: LeetCode 102. 二叉树的层序遍历 LeetCode 107. 二叉树的层序遍历 II LeetCode 199. 二叉树的右视图 LeetCode 637. 二叉树的层平均值 LeetCode 429. N 叉树的层序遍历 LeetCode 515. 在每 ......
随想录 训练营 随想 算法 代码

代码随想录算法训练营第十四天 | 二叉树理论基础,递归遍历,分别迭代遍历, 统一迭代遍历

一、二叉树理论基础 学习: 1. 从二叉树是否包含数值进行分类: 无数值:完全二叉树和满二叉树 有数值的:二叉搜索树和平衡二叉搜索树(AVL,Adelson-Velsky and Landis)。其中二叉搜索树指数值按照从小到大的顺序是左子树<根结点<右子树,平衡指的是左右子树高度差不超过1 2. ......
随想录 训练营 随想 算法 理论

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

一、239. 滑动窗口最大值 题目链接: LeetCode 239. 滑动窗口最大值 学习前: 思路: 无 学习后: 自定义双端队列,实现push、pop、peek方法,使得队列单调非增。peek方法不变;当入队时,若当前元素比队尾元素大,则pop队尾,直到队列为空或当前元素不大于队尾元素;当出队时 ......
随想录 最大值 训练营 随想 算法

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

一、20. 有效的括号 题目链接: LeetCode 20. 有效的括号 学习前: 思路: 当前元素为左括号,直接入栈 当前元素为右括号,若找到对应的左括号匹配,则循环继续;反之返回false 若栈为空,返回true;反之false 时间复杂度:O(n) 空间复杂度:O(n) 学习后: 采用入栈右括 ......

代码随想录算法训练营第十天 | 栈与队列理论基础,232.用栈实现队列,225.用队列实现栈

一、栈与队列理论基础 学习: 1. 定义 栈先进后出 队列先进先出 2. 底层实现 均可以通过数组或链表进行实现 二、232.用栈实现队列 题目链接: LeetCode 232.用栈实现队列 学习前: 思路: 无 学习后: 不同方法有部分功能实现是一致的,则可以进行抽象提取,实现复用性 两个栈实现队 ......
队列 随想录 训练营 随想 算法

代码随想录算法训练营第六天|454.四数相加二、383.赎金信、15.三数之和、18.四数之和

LeetCode 454.四数相加二 题目链接:454.四数相加二 提示:统计出现的次数; 采用 map , key 存 值,value 存次数!!! LeetCode 383. 赎金信 题目链接:383.赎金信 提示: 字符串.length() 可以直接求出字符串的长度,字符串.toCharArr ......
之和 随想录 训练营 随想 算法

代码随想录算法训练营第八天 | 344.反转字符串,541.反转字符串II,卡码网:54.替换数字,151.翻转字符串里的单词,卡码网:55.右旋转字符串

一、344.反转字符串 题目链接: LeetCode 344.反转字符串 学习前: 思路: 相向指针。left=0,right=length-1,不停交换left和right的值 时间复杂度:O(n) 空间复杂度:O(1) 学习后: 了解swap函数通过位运算实现的方式 二、541.反转字符串II ......
字符串 字符 随想录 训练营 随想

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

题目和相关内容的链接 哈希表倒不是一种明确的容器,他更像是一种存储和处理数据的结构和思想,通过用空间换时间,通过索引的方式直接访问元素,从而大大降低了遍历容器的时间开销。所以哈希表是一种基于key - value的处理思路,在具体的实现过程中,会考虑到哈希函数、哈希碰撞(拉链法、线性探索法等等)。 ......
随想录 之和 训练营 数组 交集

代码随想录算法训练营第七天|454.四数相加II,383. 赎金信,15. 三数之和,18. 四数之和

一、454.四数相加II 题目链接: LeetCode 454.四数相加II 学习前: 思路: 首先定义两个HashMap对象record12和record34,对应的key存放两个数组元素的和,value存放计算的和出现的次数 接着遍历record12,若record存在与之和为0的元素,则计算两 ......
之和 随想录 训练营 随想 算法

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

LeetCode 242.有效的字母异位词 题目链接:242.有效的字母异位词 提示:字符串 charAt() 方法的使用 LeetCode 349.两个数组的交集 题目链接:349.两个数组的交集 提示:哈希法,Set 集合的使用,判断元素是否存在!!! LeetCode 202.快乐数 题目链接 ......
随想录 之和 训练营 数组 交集

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

LeetCode242.有效的字母异位词 ● 今日学习的文章链接和视频链接 代码随想录 (programmercarl.com) 题目链接 242. 有效的字母异位词 - 力扣(LeetCode) ● 自己看到题目的第一想法 public boolean anagram(String s, Stri ......
随想录 之和 训练营 数组 交集

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

一、哈希表理论基础 学习: 1. 哈希法 当需要查询一个元素是否出现过,或者一个元素是否在集合里,首选哈希法 2. 实现哈希法的3种数据结构 数组:在哈希值个数比较小且范围可采用 集合:在哈希值个数或者范围较大时可采用 map:当既需要key,又要value时可采用 二、242.有效的字母异位词 题 ......
随想录 之和 训练营 数组 交集

代码随想录算法训练营第四天|24.两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题02.07.链表相交、142.环形链表二

LeetCode 24.两两交换链表中的节点 题目链接: 24.两两交换链表中的节点 提示:链表问题,首先用虚拟头节点,让链表节点的处理具有一致性!!! LeetCode 19.删除链表的倒数第N个节点 题目链接:19.删除链表的倒数第N个节点 注意点:快慢指针,链表删除元素得找到该元素的前一个元素 ......
节点 随想录 环形 训练营 随想
共500篇  :2/17页 首页上一页2下一页尾页