力扣

做人求其滴9 天前
c++·算法·面试·职场和发展·力扣
面试经典 150 题 380 2742026/5/21380. O(1) 时间插入、删除和获取随机元素 这题确实把我难住了,看了题解才觉得妙啊。 O(1)复杂度的插入就是插入数组最后 O(1)复杂度的删除就是用到哈希表unordered_map来存数组元素以及数组下标。 如何根据value来查找数组下标? 答:键值对中,<value, 数组下标>
Lsk_Smion11 天前
力扣
Hot100(开刷) 之 LRU(最近最少使用)缓存LRU(Least Recently Used,最近最少使用)是一种经典的缓存淘汰策略。它的核心思想非常符合直觉:如果一个数据在最近一段时间没有被访问过,那么它在将来被访问的可能性也很小。因此,当缓存容量达到上限时,系统会优先淘汰那个“最长时间未被使用”的数据。
玛卡巴卡ldf12 天前
java·数据结构·算法·leetcode·动态规划·力扣
【LeetCode 手撕算法】(多维动态规划)不同路径、最小路径和、最长回文子串、最长公共子序列、编辑距离二维的dp[ ] [ ]思路:记录每一位置的路线数,初始值最上最左设为1,dp[ i ] [ j ]=dp[ i-1 ][ j ]+dp[ i ][ j-1 ]
旖-旎14 天前
c++·算法·深度优先·力扣
深搜练习(单词搜索)(12)79. 单词搜索 - 力扣(LeetCode)我们要在二维网格中找到一条路径,使得路径上的字符按顺序拼成给定的单词。核心思路如下:
玛卡巴卡ldf15 天前
java·数据结构·算法·leetcode·动态规划·力扣
【LeetCode 手撕算法】(动态规划)爬楼梯、杨辉三角、打家劫舍、完全平方数、零钱兑换、单词拆分、最长递增子序列、乘积最大子数组、分割等和子集思路:设置初始值1和2位置的,然后算3注意:返回值里n代表索引,不是数组长度;数组长度要设置为n+1,多一个,方便和i对齐;
玛卡巴卡ldf18 天前
java·数据结构·算法·leetcode·力扣
【LeetCode 手撕算法】(栈)有效括号、最小栈、字符串解码、每日温度、柱状图最大矩形思路:遍历每个字符,先把左括号压入栈,到右括号时出栈进行对比。注意:遍历s用toCharArray()来变成单字符数组;
小辉同志21 天前
c++·力扣·多维动态规划
62. 不同路径多维动态规划:62. 不同路径 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。
玛卡巴卡ldf21 天前
java·算法·leetcode·力扣
【LeetCode 手撕算法】(回溯)全排列DFS、子集、电话号码字母组合 九键、组合总和、括号生成、单词搜索、分割回文数思路:全排列回溯 选用DFS递归;结果要全部情况,返回用二维动态列表; 每次存一个结果,并做使用记录,递归条件path满了就return做下一个;path里遍历每一个数字 判断增删 ,递归下一层入口也在这里。
mask哥22 天前
java·算法·力扣
15种算法模式java实现详解
旖-旎25 天前
c++·算法·深度优先·力扣
深搜练习(N皇后)(10)51. N 皇后 - 力扣(LeetCode)N皇后问题是回溯算法的经典应用。我们采用逐行放置的策略:每一行只能放一个皇后,因此行冲突自然避免。接下来只需要确保放置的皇后不与之前任何皇后在同一列或同一对角线即可。为此,我们需要维护三个布尔数组(哈希表)来记录被占用的列、主对角线和副对角线。
加农炮手Jinx1 个月前
算法·leetcode·力扣
LeetCode 26. Remove Duplicates from Sorted Array 题解给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。
加农炮手Jinx1 个月前
算法·leetcode·力扣
LeetCode 88. Merge Sorted Array 题解给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。
旖-旎1 个月前
c++·算法·深度优先·力扣
深搜练习(组合总和)(7)39. 组合总和 - 力扣(LeetCode)本题与之前组合问题的核心区别在于:同一个数字可以被无限重复选取。这意味着在递归过程中,我们不能像之前那样用 i+1 强制跳过当前元素,而应该允许继续选择当前元素。因此,递归调用时,下一层的 pos 参数不增加(仍从 i 开始),这样才能重复使用同一数字。
旖-旎1 个月前
c++·算法·深度优先·力扣
深搜练习(组合)(5)77. 组合 - 力扣(LeetCode)本题要求从 [1, n] 中选出 k 个数的所有组合(无序,顺序不限)。我们可以画出决策树:每一层决定是否选取当前数字,并向后推进,确保不重复。采用深度优先搜索(DFS) 回溯框架,用 pos 参数表示当前可以从哪个数字开始选取(每次只能选 ≥ pos 的数),这样能保证组合不重复。
旖-旎1 个月前
c++·算法·力扣·深度优先遍历
深搜练习(电话号码字母组合)(3)17. 电话号码的字母组合 - 力扣(LeetCode)本题要求将输入的数字字符串(仅含 2-9)映射成对应的字母组合,本质是一个多阶段决策问题。我们需要先建立数字到字母的映射表,例如用数组 string mapping[10] = {"", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};,这样下标 2 对应 "abc",3 对应 "def",以此类推。
加农炮手Jinx1 个月前
算法·leetcode·力扣
LeetCode 72. Edit Distance 题解给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。
念越1 个月前
算法·力扣
算法每日一题 Day08|双指针法解决三数之和题目链接:https://leetcode.cn/problems/3sum/description/
木子墨5161 个月前
c++·算法·leetcode·矩阵·力扣·图论
LeetCode 热题 100 精讲 | 矩阵与图论进阶篇:矩阵置零 · 螺旋矩阵 · 旋转图像 · 搜索二维矩阵 II · 岛屿数量 · 腐烂的橘子LeetCode 73. 矩阵置零给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。
念越1 个月前
算法·力扣
算法每日一题 Day07|双指针求解和为S的两个数题目链接:https://leetcode.cn/problems/he-wei-sde-liang-ge-shu-zi-lcof/description/
旖-旎1 个月前
数据结构·c++·算法·力扣·剪枝·递归
深搜(二叉树剪枝)(3)814. 二叉树剪枝 - 力扣(LeetCode)本题要求对一棵二叉树进行剪枝,其中每个节点的值只能是 0 或 1。剪枝的规则是:如果一棵子树中所有节点的值都为 0,那么将这棵子树整个移除。换句话说,我们需要从叶子节点向上检查,如果某个节点及其所有后代都不包含 1,则将该节点置为 nullptr,使其父节点不再指向它。