LeetCode 2897. 对数组执行操作使平方和最大【贪心,位运算,哈希表】2301

方和为 72 + 52 + 42 = 90 。90 是可以得到的最大结果。 提示: 1 <= k <= nums.length <= 10^51 <= nums[i] <= 10^9 解法 位运算+贪心+哈希表 一个直接的感受是,如果将一个数和其他更多的数按位与,则结果会越来越小;如果将一个数和其他更多的数按位或,则结果会越来越大。 现在对 n u m s [ i ] nums[i] nums[i]...

LeetCode 1465. 切割后面积最大的蛋糕【贪心,数组,排序】1444

uts[i] < h1 <= verticalCuts[i] < w题目数据保证 horizontalCuts 中的所有元素各不相同题目数据保证 verticalCuts 中的所有元素各不相同 解法 贪心+排序 为了算出两个相邻切口的距离,把 horizontalCuts \textit{horizontalCuts} horizontalCuts 和 verticalCuts \textit{ver...

【LeetCode:1465. 切割后面积最大的蛋糕 | 贪心 + 排序】

🍔 目录 🚩 题目链接⛲ 题目描述🌟 求解思路&实现代码&运行结果⚡ 贪心 & 排序🥦 求解思路🥦 实现代码🥦 运行结果 💬 共勉 🚩 题目链接 1465. 切割后面积最大的蛋糕 ⛲ 题目描述 矩形蛋糕的高度为 h 且宽度为 w,给你两个整数数组 horizontalCuts 和 verticalCuts,其中: horizontalCuts[i] 是从矩形蛋糕顶部到第 i 个水平切口的距离 ver...

NPC系列文章(2)---最小覆盖问题Set Cover Problem的一种贪心算法求全部覆盖集

QT = core CONFIG += c++11 cmdline # You can make your code fail to compile if it uses deprecated APIs.# In order to do so, uncomment the following line.#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x06000...

LeetCode 462. 最小操作次数使数组元素相等 II【贪心,排序或快速选择】中等

给你一个长度为 n 的整数数组 nums ,返回使所有数组元素相等需要的最小操作数。 在一次操作中,你可以使数组中的一个元素加 1 或者减 1 。 示例 1: 输入:nums = [1,2,3]输出:2解释:只需要两次操作(每次操作指南使一个元素加 1 或减 1):[1,2,3] => [2,2,3] => [2,2,2] 示例 2: 输入:nums = [1,10,2,9]输出:16 提...

LeetCode LCP 06. 拿硬币【贪心,数学】简单

组 coins 中。我们每次可以选择任意一堆,拿走其中的一枚或者两枚,求拿完所有力扣币的最少次数。 示例 1: 示例 2: 限制: 1 <= n <= 41 <= coins[i] <= 10 解法 贪心 因为每次操作我们只能取一堆力扣币进行拿取操作,所以拿光不同堆力扣币的次数相互独立,所以求拿光全部力扣币的最少操作次数等价于求拿光每一堆力扣币的最少次数。 对于拿光有 m m m , m > 0 m ...

【LeetCode: 2578. 最小和分割 | 贪心

🍔 目录 🚩 题目链接⛲ 题目描述🌟 求解思路&实现代码&运行结果⚡ 贪心🥦 求解思路🥦 实现代码🥦 运行结果 💬 共勉 🚩 题目链接 2578. 最小和分割 ⛲ 题目描述 给你一个正整数 num ,请你将它分割成两个非负整数 num1 和 num2 ,满足: num1 和 num2 直接连起来,得到 num 各数位的一个排列。 换句话说,num1 和 num2 中所有数字出现的次数之和等于 num...

Dijkstra 邻接表表示算法 | 贪心算法实现--附C++/JAVA实现源码

以下是详细步骤。  创建大小为 V 的最小堆,其中 V 是给定图中的顶点数。最小堆的每个节点包含顶点编号和顶点的距离值。  以源顶点为根初始化最小堆(分配给源顶点的距离值为0)。分配给所有其他顶点的距离值为 INF(无限)。  当最小堆不为空时,执行以下操作: 从最小堆中提取具有最小距离值节点的顶点。令提取的顶点为u。  对于 u 的每个相邻顶点 v,检查 v 是否在最小堆中。如果v在Min Heap...

【技术积累】算法中的贪心算法【二】

如何证明一个问题可以使用贪心算法解决?判断一个问题是否可以使用贪心算法解决,通常需要满足两个条件: 贪心选择性质:问题的最优解可以通过一系列局部最优解得到。也就是说,在每一步选择中,都选择当前最优解,而不考虑之后的影响。最优子结构性质:问题的子问题的最优解可以推导出原问题的最优解。也就是说,问题的子问题的最优解可以重复利用,从而得到原问题的最优解。 因此,如果一个问题满足以上两个条件,就可以使用贪...

LeetCode 1029. Two City Scheduling 【贪心,堆,排序,快速选择】中等

/Obsidian/202306081038751.png)] 因此最优的方案是,选出 priceA - priceB 最小的 N N N 个人去 A A A 市,其余人去 B B B 市。 解法1 贪心+排序 具体实现来说,这个解法先按照 priceA - priceB 从小到大排序,将前 N N N 个人飞往 A A A 市,其余人飞往 B B B 市,并计算出总费用。 class Solutio...
© 2024 LMLPHP 关于我们 联系我们 友情链接 耗时0.022610(s)
2024-10-24 11:17:15 1729739835