随想录 总和 随想 字母
代码随想录算法训练营第12天 | 树的遍历
(本合集全部为Go语言实现) 相关文章链接:递归遍历 迭代遍历 统一迭代法 相关视频链接: Leetcode94 状态: 实现过程中的难点:迭代法的模拟过程比较难想 个人写法 递归方式 func inorderTraversal(root *TreeNode) []int { var res []i ......
sql语句,实现总结每个部门的每个用途的金额总和
SELECT '总经理办公室' AS 部门, COALESCE(SUM(CASE WHEN yongtu = '办公用品' THEN price ELSE 0 END), 0) AS 办公用品, COALESCE(SUM(CASE WHEN yongtu = '差旅费' THEN price ELS ......
day03 代码随想录算法训练营 203. 移除链表元素
题目: 203. 移除链表元素 我的感悟: 题目里的节点是已经给好的, 创建虚拟节点,是为了方便处理头节点。 加油,我可以的!!!!! 理解难点: 节点已经给好的 创建虚拟节点 代码难点: p是临时变量,类似于for i in range(10) 这里的i,本身是用完就扔的。 返回值为什么不能是p. ......
算法学习Day18左下角的值,路径总和,构建二叉树
# Day18左下角的值,路径总和,构建二叉树 `By HQWQF 2023/12/30` ## 笔记 *** ## 513.找树左下角的值 给定一个二叉树的 **根节点** `root`,请找出该二叉树的 **最底层 最左边** 节点的值。 假设二叉树中至少有一个节点。 **示例 2:** **输 ......
代码随想录算法训练营第11天 | lc239、lc347
(本合集全部为Go语言实现) 相关文章链接:239题解 347题解 相关视频链接: Leetcode239 状态:记得是单调队列,但实际忘了实现细节,想了很久 实现过程中的难点:首先是得想到用单调队列解题,其次要搞明白单调队列的入队和出队的实现细节 本题中单调队列的细节 为什么不是优先队列:优先队列 ......
代码随想录day04 两两交换链表中的节点 删除链表的倒数第N个节点 链表相交 环形链表
两两交换链表中的节点题目: 这题画一下链表会比较清晰 写写画画指针位置很快就可以写出来 一开始以为一个tmp就够用了 写着写着发现需要多一个 代码: 删除链表的倒数第N个节点: 没什么思路 只好先看看视频思路 视频思路很简单也很清晰 只需要两个指针 一快一慢 两指针的间隔就是n 这样当快指针到末尾的 ......
代码随想录day03 链表删除 链表类的实现 反转链表
首先是链表的删除操作 热身题 这里使用了一个新的头指针 这样在删除头指针的时候就不需要进行额外的判断 然后是链表类的实现 需要一点背诵加上深刻理解 有时候理解了但是写起来还是会有些指针边界的小问题 应该多写写多记一下就会好了 还有就是手写链表要常复习吧 学习新语言应该也要对这些常用的数据结构进行手写 ......
代码随想录算法训练营第十七天 | 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 叉树的最大深度 学习前: 思路: 后 ......
代码随想录day 02 双指针 滑动窗口 螺旋矩阵
有序数组的平方题目如下: 如果是可以使用O(nlogn)或以上复杂度的算法,本题可以简单的先平方一遍,然后使用排序算法就可以了 但是要求使用O(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. 在每 ......
代码随想录day 01 二分法与快慢指针
二分法题目: 实现代码如下: 值得注意的是实现的方法是利用左闭右开区间还是左闭右闭区间 根据选择的不同,判断条件不同 将迭代的值带入到条件看符不符合区间要求就不会混淆二者 快慢指针题目: 本题实际上可以通过二重for循环暴力求解,复杂度是O(n^2) 但是测试过程中发现超时遂放弃 利用快慢指针在数组 ......
代码随想录算法训练营第十四天 | 二叉树理论基础,递归遍历,分别迭代遍历, 统一迭代遍历
一、二叉树理论基础 学习: 1. 从二叉树是否包含数值进行分类: 无数值:完全二叉树和满二叉树 有数值的:二叉搜索树和平衡二叉搜索树(AVL,Adelson-Velsky and Landis)。其中二叉搜索树指数值按照从小到大的顺序是左子树<根结点<右子树,平衡指的是左右子树高度差不超过1 2. ......
二叉树路径总和系列问题
二叉树路径总和系列问题 作者:Grey 原文地址: 博客园:二叉树路径总和系列问题 CSDN:二叉树路径总和系列问题 LeetCode 112. 路径总和 定义递归函数 boolean process(TreeNode node, int preSum, int target) 递归含义表示:从 n ......
【LeetCode】17. 电话号码的字母组合
链接: https://leetcode.cn/problems/letter-combinations-of-a-phone-number/ 思路: 利用深度优先遍历 遍历两个空间 第一个空间是digits,命名为space1 第二个空间是digits的每一位自身的空间,命名为space2 关键是 ......
【LeetCode】39. 组合总和
题目 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数字可以 无限制重复被选取 ......
代码随想录算法训练营第二天 | 239. 滑动窗口最大值,347.前 K 个高频元素
一、239. 滑动窗口最大值 题目链接: LeetCode 239. 滑动窗口最大值 学习前: 思路: 无 学习后: 自定义双端队列,实现push、pop、peek方法,使得队列单调非增。peek方法不变;当入队时,若当前元素比队尾元素大,则pop队尾,直到队列为空或当前元素不大于队尾元素;当出队时 ......
编程随想曲周刊(第60期)
这里记录每周的所见所闻,周日发布。点击阅读原文可以直接访问文章链接。 运维 Grafana和Prometheus的国产化平替来了 工具 分享我平时使用的几款免费的 AI 文字生成图片的在线网站 文章 朱令去世:人性中最难克服的恶,就是见不得身边人比自己好 生活 包头印象城盛大开业,焕活敢噻青年生活主 ......
代码随想录算法训练营第十一天|20. 有效的括号,1047. 删除字符串中的所有相邻重复项,150. 逆波兰表达式求值
一、20. 有效的括号 题目链接: LeetCode 20. 有效的括号 学习前: 思路: 当前元素为左括号,直接入栈 当前元素为右括号,若找到对应的左括号匹配,则循环继续;反之返回false 若栈为空,返回true;反之false 时间复杂度:O(n) 空间复杂度:O(n) 学习后: 采用入栈右括 ......
代码随想录算法训练营第十天 | 栈与队列理论基础,232.用栈实现队列,225.用队列实现栈
一、栈与队列理论基础 学习: 1. 定义 栈先进后出 队列先进先出 2. 底层实现 均可以通过数组或链表进行实现 二、232.用栈实现队列 题目链接: LeetCode 232.用栈实现队列 学习前: 思路: 无 学习后: 不同方法有部分功能实现是一致的,则可以进行抽象提取,实现复用性 两个栈实现队 ......
sql语句返回每月金额总和
SELECT COALESCE(SUM(cgprice), 0) AS total_amount FROM ( SELECT 1 AS month_num UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT ......
代码随想录算法训练营第六天|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的处理思路,在具体的实现过程中,会考虑到哈希函数、哈希碰撞(拉链法、线性探索法等等)。 ......
正则:由8-20个字符组成,必须包含大小写字母,数字或标点符号(除空格)
<el-form-item label="设置密码" prop="pass"> <el-input type="password" v-model="ruleForm.pass" autocomplete="off" placeholder="请输入密码" show-password></el-in ......