技术栈
leetcode
草履虫建模
1 小时前
算法
·
leetcode
·
职场和发展
·
贪心算法
·
动态规划
·
一次遍历
力扣算法 121. 买卖股票的最佳时机
题目:给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。
爱尔兰极光
2 小时前
算法
·
leetcode
·
职场和发展
LeetCode--有序数组的平方
题目:解析:首先我们创建一个大小为 nums.length的数组result用于存放每个数字的平方,由于要求结果为递增的顺序,因此我们可以通过双指针i 和 j分别从左右两侧向内遍历数组,如果i所对应的数的平方大于j所对应数的平方,将i所指的数存入新数组,i++,否则j所指的数存入新数组,j--,由于原数组是递增数组且存在负数,所以越向内,数字的平方越小,因此最先存入数组的数一定是新数组中最大的,我们可以用一个K=nums.length-1来代表存入新数组的元素的下标,每新存入一个数,k--。
haluhalu.
2 小时前
数据结构
·
算法
·
leetcode
LeetCode---基础算法刷题指南
双指针算法是一种通过使用两个指针(通常指向数组的不同位置)来高效解决问题的技巧。它主要用于:减少时间复杂度(从 O(n²) 降到 O(n))
iAkuya
2 小时前
算法
·
leetcode
·
职场和发展
(leetcode)力扣100 58组合总和(回溯)
给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。
爱尔兰极光
2 小时前
算法
·
leetcode
·
职场和发展
LeetCode--移除元素
题目:解法:双指针思想,运用快慢指针解决问题数组中的元素是连续不间断的,因此移除元素,其实是被移除元素的下一个元素覆盖掉被移除元素,我们可以用一个快指针(fast)遍历这个数组,寻找我们新数组的值,如果原数组中的元素不等于val,则将快指针寻找到的数赋值给慢指针(slow的值对应新数组新存入元素下标),由慢指针存入新数组,直到快指针所指元素等于val,跳过该数,继续遍历。最终新数组中的元素个数其实就是slow的值(每存入一个数,slow++)
苦藤新鸡
3 小时前
数据结构
·
算法
·
leetcode
·
bfs
51.课程表(拓扑排序)-leetcode207
你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中 prerequisites[i] = [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程 bi 。
VT.馒头
3 小时前
前端
·
javascript
·
算法
·
leetcode
·
职场和发展
·
typescript
【力扣】2694. 事件发射器
设计一个 EventEmitter 类。这个接口与 Node.js 或 DOM 的 Event Target 接口相似,但有一些差异。EventEmitter 应该允许订阅事件和触发事件。
好学且牛逼的马
3 小时前
算法
·
leetcode
【Hot100|21-LeetCode 160. 相交链表】
给你两个单链表的头节点 headA 和 headB,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null。
Remember_993
3 小时前
java
·
开发语言
·
数据库
·
后端
·
spring
·
leetcode
·
oracle
Spring 事务深度解析:实现方式、隔离级别与传播机制全攻略
目录前言一、事务基础回顾:是什么?为什么需要?1.1 事务的定义1.2 为什么需要事务?1.3 事务的核心操作
练习时长一年
4 小时前
算法
·
leetcode
·
职场和发展
LeetCode热题100(颜色分类)
题目描述给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地 对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。
We་ct
5 小时前
前端
·
算法
·
leetcode
·
矩阵
·
typescript
LeetCode 73. 矩阵置零:原地算法实现与优化解析
今天来拆解 LeetCode 经典中等题——73. 矩阵置零。这道题的核心考点是「原地算法」的实现,以及空间复杂度的优化,新手容易在“不额外开辟矩阵”和“避免标记覆盖”上踩坑,今天咱们从基础实现到优化思路,一步步讲明白。
好学且牛逼的马
5 小时前
算法
·
leetcode
·
矩阵
【Hot100|22-LeetCode 206. 反转链表 - 完整解法详解】
给你单链表的头节点 head,请你反转链表,并返回反转后的链表。text时间复杂度:O(n)空间复杂度:递归解法 O(n),迭代解法 O(1)
v_for_van
5 小时前
c语言
·
算法
·
leetcode
力扣刷题记录3(无算法背景,纯C语言)
13、找字符串中所有字母异位词14、爬楼梯(70动态规划 记忆递归)15、杨辉三角(118 动态规划,正常解)
We་ct
6 小时前
前端
·
算法
·
leetcode
·
typescript
LeetCode 48. 旋转图像:原地旋转最优解法
在LeetCode数组类题目中,「原地操作」是高频考点,也是提升解题难度的关键。它要求我们不借助额外空间,直接修改输入数据,既考验对数组索引的敏感度,也容易因细节失误踩坑。今天我们聚焦第48题「旋转图像」,拆解题干要求,详解最优原地解法(即你提供的TypeScript代码),帮你吃透核心逻辑、避开常见误区,轻松拿下这道经典题目。
爱尔兰极光
6 小时前
算法
·
leetcode
·
职场和发展
LeetCode--长度最小的子数组
题目:解析:我们可以用滑动窗口的思想,通过一个动态的j表示结束位置,一个动态的i表示起始位置,假设满足初始条件的数组大小result为无穷大,通过j先遍历数组并求和,用一个sum存储元素的和,当sum的值大于等于target的值时,说明该区间是符合条件的区间,这时候通过i的右移(i++)看是否这个区间的能否更小(i右移的过程中sum要减去i下标所对应的值),区间的长度subl=j-i+1,用它和result进行比较选最小值为新数组的长度(如果不存在满足条件的数组,最后一定要把result的值改为0);
有一个好名字
6 小时前
算法
·
leetcode
·
职场和发展
力扣-电话号码组合
核心思想:递归遍历每个数字对应的字母,逐步构建组合字符串,递归到底(遍历完所有数字)时将组合加入结果集,回溯时撤销最后一个字符,继续尝试下一个字母。
鱼跃鹰飞
6 小时前
算法
·
leetcode
·
职场和发展
Leetcode会员尊享面试100题:1086:前五科的均分
给你一个不同学生的分数列表 items,其中 items[i] = [IDi, scorei] 表示 IDi 的学生的一科分数,你需要计算每个学生 最高的五科 成绩的 平均分。
sin_hielo
6 小时前
数据结构
·
算法
·
leetcode
leetcode 3010
3010: 将数组分成最小总代价的子数组Ⅰ题意:把数组分成三段,每一段取第一个数求和,问和的最小值是多少。
TracyCoder123
15 小时前
算法
·
leetcode
LeetCode Hot100(19/100)——206. 反转链表
给定一个单链表的头节点 head,请将该链表反转,并返回反转后的链表头节点。示例:输入:head = [1, 2, 3, 4, 5] 输出:[5, 4, 3, 2, 1]