技术栈
力扣
旖-旎
1 天前
c++
·
算法
·
深度优先
·
力扣
深搜练习(N皇后)(10)
51. N 皇后 - 力扣(LeetCode)N皇后问题是回溯算法的经典应用。我们采用逐行放置的策略:每一行只能放一个皇后,因此行冲突自然避免。接下来只需要确保放置的皇后不与之前任何皇后在同一列或同一对角线即可。为此,我们需要维护三个布尔数组(哈希表)来记录被占用的列、主对角线和副对角线。
加农炮手Jinx
3 天前
算法
·
leetcode
·
力扣
LeetCode 26. Remove Duplicates from Sorted Array 题解
给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。
加农炮手Jinx
3 天前
算法
·
leetcode
·
力扣
LeetCode 88. Merge Sorted Array 题解
给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。
旖-旎
5 天前
c++
·
算法
·
深度优先
·
力扣
深搜练习(组合总和)(7)
39. 组合总和 - 力扣(LeetCode)本题与之前组合问题的核心区别在于:同一个数字可以被无限重复选取。这意味着在递归过程中,我们不能像之前那样用 i+1 强制跳过当前元素,而应该允许继续选择当前元素。因此,递归调用时,下一层的 pos 参数不增加(仍从 i 开始),这样才能重复使用同一数字。
旖-旎
6 天前
c++
·
算法
·
深度优先
·
力扣
深搜练习(组合)(5)
77. 组合 - 力扣(LeetCode)本题要求从 [1, n] 中选出 k 个数的所有组合(无序,顺序不限)。我们可以画出决策树:每一层决定是否选取当前数字,并向后推进,确保不重复。采用深度优先搜索(DFS) 回溯框架,用 pos 参数表示当前可以从哪个数字开始选取(每次只能选 ≥ pos 的数),这样能保证组合不重复。
旖-旎
6 天前
c++
·
算法
·
力扣
·
深度优先遍历
深搜练习(电话号码字母组合)(3)
17. 电话号码的字母组合 - 力扣(LeetCode)本题要求将输入的数字字符串(仅含 2-9)映射成对应的字母组合,本质是一个多阶段决策问题。我们需要先建立数字到字母的映射表,例如用数组 string mapping[10] = {"", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};,这样下标 2 对应 "abc",3 对应 "def",以此类推。
加农炮手Jinx
9 天前
算法
·
leetcode
·
力扣
LeetCode 72. Edit Distance 题解
给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。
念越
10 天前
算法
·
力扣
算法每日一题 Day08|双指针法解决三数之和
题目链接:https://leetcode.cn/problems/3sum/description/
木子墨516
12 天前
c++
·
算法
·
leetcode
·
矩阵
·
力扣
·
图论
LeetCode 热题 100 精讲 | 矩阵与图论进阶篇:矩阵置零 · 螺旋矩阵 · 旋转图像 · 搜索二维矩阵 II · 岛屿数量 · 腐烂的橘子
LeetCode 73. 矩阵置零给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。
念越
13 天前
算法
·
力扣
算法每日一题 Day07|双指针求解和为S的两个数
题目链接:https://leetcode.cn/problems/he-wei-sde-liang-ge-shu-zi-lcof/description/
旖-旎
14 天前
数据结构
·
c++
·
算法
·
力扣
·
剪枝
·
递归
深搜(二叉树剪枝)(3)
814. 二叉树剪枝 - 力扣(LeetCode)本题要求对一棵二叉树进行剪枝,其中每个节点的值只能是 0 或 1。剪枝的规则是:如果一棵子树中所有节点的值都为 0,那么将这棵子树整个移除。换句话说,我们需要从叶子节点向上检查,如果某个节点及其所有后代都不包含 1,则将该节点置为 nullptr,使其父节点不再指向它。
念越
15 天前
算法
·
力扣
算法每日一题 Day05|双指针解决盛最多水的容器问题
https://leetcode.cn/problems/container-with-most-water/
念越
16 天前
算法
·
力扣
算法每日一题 Day03|快慢双指针解决快乐树问题
https://leetcode.cn/problems/happy-number/description/
旖-旎
16 天前
c++
·
算法
·
力扣
·
递归
递归(快速幂)(5)
https://blog.csdn.net/2601_95366422/article/details/159202641
加农炮手Jinx
18 天前
算法
·
leetcode
·
力扣
LeetCode 146. LRU Cache 题解
请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。实现 LRUCache 类:示例 1:
加农炮手Jinx
18 天前
算法
·
leetcode
·
力扣
LeetCode 128. Longest Consecutive Sequence 题解
给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为 O(n) 的算法解决此问题。
旖-旎
19 天前
c++
·
算法
·
leetcode
·
力扣
·
栈
栈(验证栈序列)(5)
946. 验证栈序列 - 力扣(LeetCode)验证栈序列的核心在于模拟入栈和出栈的过程。我们使用一个辅助栈,按照 pushed 的顺序依次将元素压入栈中。
j_xxx404_
19 天前
数据结构
·
c++
·
算法
·
leetcode
·
蓝桥杯
·
力扣
·
散列表
C++算法:哈希表(简介|两数之和|判断是否互为字符重排)
上篇文章:力扣题型--链表(合并K个升序链表|K个一组翻转链表)目录1.哈希表简介1.1哈希表是什么1.2作用
Lsk_Smion
21 天前
java
·
后端
·
kotlin
·
力扣
·
hot100
Hot100(开刷) 之 环形链表(II)-- 随机链表的复制 -- 翻转二叉树
哈希集合的妙用:利用集合的 O(1) 平均查找时间复杂度,快速检测重复节点。环的入口判定:第一个重复出现的节点一定是环的起始节点,因为从 head 出发进入环后,再次访问到的第一个环上节点就是入口。
语戚
22 天前
java
·
算法
·
leetcode
·
贪心算法
·
动态规划
·
力扣
·
dp
力扣 2463. 最小移动总距离 —— 动态规划 & 贪心排序全解(Java 实现)
在动态规划与贪心算法结合的面试题库中,LeetCode 2463 最小移动总距离是一道极具代表性的经典难题。它以「X 轴上机器人与工厂的最优匹配」为目标,既不依赖复杂数学推导,也不涉及冷门数据结构,却精准考察了贪心排序思想、状态定义设计、分组背包模型转化以及空间优化四大核心能力。看似简单的机器人分配问题,背后藏着从暴力枚举到最优子结构的完整算法演进逻辑,也是面试官常用来检验算法思维是否严谨的高频考题。