之和 随想录 随想day7

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

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

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

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

代码随想录day04 两两交换链表中的节点 删除链表的倒数第N个节点 链表相交 环形链表

两两交换链表中的节点题目: 这题画一下链表会比较清晰 写写画画指针位置很快就可以写出来 一开始以为一个tmp就够用了 写着写着发现需要多一个 代码: 删除链表的倒数第N个节点: 没什么思路 只好先看看视频思路 视频思路很简单也很清晰 只需要两个指针 一快一慢 两指针的间隔就是n 这样当快指针到末尾的 ......
节点 随想录 环形 随想 代码

leetcode 1.两数之和

leetcode 第一题:两数之和 1.暴力枚举: 最容易想到的方法是枚举数组中的每一个数 x,寻找数组中是否存在 target - x。 当我们使用遍历整个数组的方式寻找 target - x 时,需要注意到每一个位于 x 之前的元素都已经和 x 匹配过,因此不需要再进行匹配。而每一个元素不能被使 ......
之和 leetcode

代码随想录day03 链表删除 链表类的实现 反转链表

首先是链表的删除操作 热身题 这里使用了一个新的头指针 这样在删除头指针的时候就不需要进行额外的判断 然后是链表类的实现 需要一点背诵加上深刻理解 有时候理解了但是写起来还是会有些指针边界的小问题 应该多写写多记一下就会好了 还有就是手写链表要常复习吧 学习新语言应该也要对这些常用的数据结构进行手写 ......
随想录 随想 代码 day 03

代码随想录算法训练营第十七天 | 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)复杂度的算法,那么我首先想到的是昨天的快慢指针类似的想法: 我想先平方一次数组,然后从中间开始排序,如下 但是运行之后发现从中间开始进行相邻元素的比较好 ......
随想录 矩阵 指针 螺旋 随想

2023.12.28 leedcode 两数之和

class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: for i in range(len(nums)): if target - nums[i] in nums[i + 1 :]: if i != ......
之和 leedcode 2023 12 28

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. ......
随想录 训练营 随想 算法 理论

代码随想录算法训练营第二天 | 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.用栈实现队列 学习前: 思路: 无 学习后: 不同方法有部分功能实现是一致的,则可以进行抽象提取,实现复用性 两个栈实现队 ......
队列 随想录 训练营 随想 算法

『LeetCode』1. 两数之和 Two Sum

『1』暴力法 class Solution { // Brute Force // Time Complexity: O(n^2) // Space Complexity: O(1) public int[] twoSum(int[] nums, int target) { for (int i = ......
之和 LeetCode Two Sum

Leetcode 2507. 使用质因数之和替换后可以取到的最小值 优化前 优化后

https://leetcode.cn/problems/smallest-value-after-replacing-with-sum-of-prime-factors/description/ 给你一个正整数 n 。 请你将 n 的值替换为 n 的 质因数 之和,重复这一过程。 注意,如果 n ......
质因数 之和 Leetcode 2507

代码随想录算法训练营第六天|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的处理思路,在具体的实现过程中,会考虑到哈希函数、哈希碰撞(拉链法、线性探索法等等)。 ......
随想录 之和 训练营 数组 交集

2023-12-20:用go语言,给定一个数组arr,长度为n,在其中要选两个不相交的子数组。 两个子数组的累加和都要是T,返回所有满足情况中,两个子数组长度之和最小是多少? 如果没有有效方法,返回-

2023-12-20:用go语言,给定一个数组arr,长度为n,在其中要选两个不相交的子数组。 两个子数组的累加和都要是T,返回所有满足情况中,两个子数组长度之和最小是多少? 如果没有有效方法,返回-1。 正式 : 2 <= n <= 10^6 0 <= arr[i] <= 10000 1 <= T ......
数组 两个 长度 之和 要是

算法学习Day7哈希表,数之和

Day6哈希表,数之和 By HQWQF 2023/12/19 笔记 454.四数相加II 给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0。 为了使问题简单化,所有的 A, B, ......
之和 算法 Day7 Day

代码随想录算法训练营第七天|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.快乐数 题目链接 ......
随想录 之和 训练营 数组 交集

15. 三数之和

题目 15. 三数之和 要求 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请 你返回所有和为 0 且不重 ......
之和 15
共2000篇  :3/67页 首页上一页3下一页尾页