【LeetCode】每日一题 2024_10_30 交换后字典序最小的字符串(字符串、贪心)
前言 每天和你一起刷 LeetCode 每日一题~ LeetCode 启动! 题目:交换后字典序最小的字符串 代码与解题思路 先读题:最多交换一次 相邻 且具有相同 奇偶性 的数字,获得字典序最小的字符串,不难想到,遍历字符串,在遇到第一个符合该性质的字符进行交换就是最优的结果(因为字典序越靠前优先级越高) 两个小技巧: 1、golang 的 swap 不好用,我们一般通过 golang 的语法小技...
【LeetCode】每日一题 2024_10_20 最小差值 I(模拟/数学/贪心)
前言 每天和你一起刷 LeetCode 每日一题~ LeetCode 启动! 题目:最小差值 I 代码与解题思路 今天的题目也比较简单,题目要求找到数组的最大值和最小值相减的最小值,每个元素可以 +k 或者 -k,那最优的情况就是让最大值 -k,最小值 +k,转化一下就是让:最大值 - 最小值 - 2*k 就能得到题目想要的值。分类讨论一下可能出现的结果即可: 1、最大值 - 最小值 - 2*k <...
【C++贪心】2712. 使所有字符相等的最小成本|1791
本文涉及知识点 C++贪心 LeetCode2712. 使所有字符相等的最小成本 给你一个下标从 0 开始、长度为 n 的二进制字符串 s ,你可以对其执行两种操作: 选中一个下标 i 并且反转从下标 0 到下标 i(包括下标 0 和下标 i )的所有字符,成本为 i + 1 。 选中一个下标 i 并且反转从下标 i 到下标 n - 1(包括下标 i 和下标 n - 1 )的所有字符,成本为 n -...
贪心算法补卡
376. 摆动序列 首先是对“摆动”的判断,为什么等于号要在同一边,可以在一个平坡中只计算一次左边的平坡到上坡或者下坡,为了避免两端的特殊判断,右端结束算一个坡,所以答案初始是1,在开头加上和第一个元素大小一致的头元素,漏掉了单调中包含平坡误判的情况,因为以下判断方法是每次更新predis,然后判断当前dis,如果是一次摆动就算入,因为考虑到了平坡,虽然只会梯形的平坡算入一次拐点,但是存在单调区间的...
【题解】55. 跳跃游戏(贪心、数组、动态规划)
https://leetcode.cn/problems/jump-game/description/?envType=study-plan-v2&envId=top-interview-150 class Solution {public: bool canJump(vector<int>& nums) { int n = nums.size(); int lastPos = 0; // 最远可...
中北大学算法贪心算法问题实验:题目1 贪心算法解决TSP问题
目录 1.实验名称2.实验目的3.实验内容4.实验原理5.实验过程伪代码C++代码时间复杂度: 6.实验结论及心得代码运行截图心得 实验报告 1.实验名称 贪心算法问题实验:题目1 贪心算法解决TSP问题 2.实验目的 (1)掌握贪心法的设计思想; (2)掌握TSP问题的具体实现过程; (3)熟练掌握二维数组的使用方法; (4)在掌握的基础上编程实现TSP问题的具体实现过程。 3.实验内容 给出n个...
【贪心】【哈希表】个人练习-Leetcode-846. Hand of Straights
-straights/ 题目大意:给出一数列,求是否能刚好将它们分成若干组,每组的元素数量为groupSize,并且元素连续。 思路:因为题目的限制很死,如果能够分那么分的结果一定是确定的。那么就可以贪心做。 先排序,并记录每种元素出现的次数,用哈希表cnt来记。然后从小到大遍历,每轮从【残存次数大于0的最小的数】开始(可以用一个vector来存这些数字,每个只存一次,起到一个set一样的效果),然后...
【LeetCode: 330. 按要求补齐数组 + 贪心 + 构造区间】
🍔 目录 🚩 题目链接⛲ 题目描述🌟 求解思路&实现代码&运行结果⚡ 贪心 + 构造区间🥦 求解思路🥦 实现代码🥦 运行结果 💬 共勉 🚩 题目链接 330. 按要求补齐数组2952. 需要添加的硬币的最小数量 ⛲ 题目描述 给定一个已排序的正整数数组 nums ,和一个正整数 n 。从 [1, n] 区间内选取任意个数字补充到 nums 中,使得 [1, n] 区间内的任何数字都可以用 nums ...
Python 练习 LeetCode 贪心算法
Python 练习 LeetCode 贪心算法 整理 LeetCode 贪心算法题目的 Python 解答。保持更新 刷题顺序参考:https://www.jianshu.com/p/460edbe3dc36 题目分类 题目编号 数组与贪心算法 605、121、122、561、455、575、135、409、621、179、56、57、228、452、435、646、406、48、169、215、7...
c++贪心练习题:排队接水
nt=1; scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d",&a[i]); } return 0;} 再然后就开始读题了() 通过题目,很明显是贪心,先要排个序,从小到大进行排列,算出来,就over了 最后代码 #include<iostream>#include<algorithm>using namespace std;int a[10...