最小

闻缺陷则喜何志丹1 个月前
c++·算法·leetcode·贪心·最小·最大·青蛙
【C++贪心】2498. 青蛙过河 II贪心 优化后不需要二分给你一个下标从 0 开始的整数数组 stones ,数组中的元素 严格递增 ,表示一条河中石头的位置。青蛙一开始在第一块石头上,它想到达最后一块石头,然后回到第一块石头。同时每块石头 至多 到达 一次。 一次跳跃的 长度 是青蛙跳跃前和跳跃后所在两块石头之间的距离。 更正式的,如果青蛙从 stones[i] 跳到 stones[j] ,跳跃的长度为 |stones[i] - stones[j]| 。一条路径的 代价 是这条路径里的 最大跳跃长度 。 请你返回这只青蛙的 最小代价 。
闻缺陷则喜何志丹3 个月前
c++·算法·leetcode·bfs·最小·数目·宽度优先搜索
【01BFS】2290. 到达角落需要移除障碍物的最小数目01BFS C++BFS算法图论知识汇总给你一个下标从 0 开始的二维整数数组 grid ,数组大小为 m x n 。每个单元格都是两个值之一: 0 表示一个 空 单元格, 1 表示一个可以移除的 障碍物 。 你可以向上、下、左、右移动,从一个空单元格移动到另一个空单元格。 现在你需要从左上角 (0, 0) 移动到右下角 (m - 1, n - 1) ,返回需要移除的障碍物的 最小 数目。 示例 1: 输入:grid = [[0,1,1],[1,1,0],[1,1,0]]
闻缺陷则喜何志丹3 个月前
c++·算法·力扣·队列·最小·树状树状·最多
【树状数组 队列】1505. 最多 K 次交换相邻数位后得到的最小整数树状数组 队列给你一个字符串 num 和一个整数 k 。其中,num 表示一个很大的整数,字符串中的每个字符依次对应整数上的各个 数位 。 你可以交换这个整数相邻数位的数字 最多 k 次。 请你返回你能得到的最小整数,并以字符串形式返回。 示例 1: 输入:num = “4321”, k = 4 输出:“1342”
闻缺陷则喜何志丹6 个月前
c++·算法·动态规划·力扣·位运算·区间dp·最小
【动态规划 区间dp 位运算】100259. 划分数组得到最小的值之和动态规划 区间dp 位运算给你两个数组 nums 和 andValues,长度分别为 n 和 m。 数组的 值 等于该数组的 最后一个 元素。 你需要将 nums 划分为 m 个 不相交的连续 子数组,对于第 ith 个子数组 [li, ri],子数组元素的按位AND运算结果等于 andValues[i],换句话说,对所有的 1 <= i <= m,nums[li] & nums[li + 1] & … & nums[ri] == andValues[i] ,其中 & 表示按位AND运算符。 返回将 nu
闻缺陷则喜何志丹8 个月前
c++·算法·leetcode·深度优先·图论·最小·旅行
【深度优先搜索】【图论】【树】2646. 最小化旅行的价格总和【数位dp】【动态规划】【状态压缩】【推荐】1012. 至少有 1 位重复的数字深度优先搜索 图论 树
闻缺陷则喜何志丹1 年前
c++·算法·leetcode·测试用例·二分查找·最小·好进制
C++二分查找算法的应用:最小好进制二分查找以字符串的形式给出 n , 以字符串的形式返回 n 的最小 好进制 。 如果 n 的 k(k>=2) 进制数的所有数位全为1,则称 k(k>=2) 是 n 的一个 好进制 。 示例 1: 输入:n = “13” 输出:“3” 解释:13 的 3 进制是 111。 示例 2: 输入:n = “4681” 输出:“8” 解释:4681 的 8 进制是 11111。 示例 3: 输入:n = “1000000000000000000” 输出:“999999999999999999” 解释:1000000