【LeetCode】每日一题 2024_10_30 交换后字典序最小的字符串(字符串、贪心)
前言 每天和你一起刷 LeetCode 每日一题~ LeetCode 启动! 题目:交换后字典序最小的字符串 代码与解题思路 先读题:最多交换一次 相邻 且具有相同 奇偶性 的数字,获得字典序最小的字符串,不难想到,遍历字符串,在遇到第一个符合该性质的字符进行交换就是最优的结果(因为字典序越靠前优先级越高) 两个小技巧: 1、golang 的 swap 不好用,我们一般通过 golang 的语法小技...
【C++单调栈 贡献法】907. 子数组的最小值之和|1975
本文涉及的基础知识点 C++单调栈 LeetCode907. 子数组的最小值之和 给定一个整数数组 arr,找到 min(b) 的总和,其中 b 的范围为 arr 的每个(连续)子数组。 由于答案可能很大,因此 返回答案模 10 + 7 。 示例 1: 输入:arr = [3,1,2,4] 输出:17 解释: 子数组为 [3],[1],[2],[4],[3,1],[1,2],[2,4],[3,1,2...
744. 寻找比目标字母大的最小字母
und为什么要加* 题目 给你一个字符数组 letters,该数组按非递减顺序排序,以及一个字符 target。letters 里至少有两个不同的字符。 返回 letters 中大于 target 的最小的字符。如果不存在这样的字符,则返回 letters 的第一个字符。 解法一 class Solution {public: char nextGreatestLetter(vector<char>...
【C++贪心】2712. 使所有字符相等的最小成本|1791
本文涉及知识点 C++贪心 LeetCode2712. 使所有字符相等的最小成本 给你一个下标从 0 开始、长度为 n 的二进制字符串 s ,你可以对其执行两种操作: 选中一个下标 i 并且反转从下标 0 到下标 i(包括下标 0 和下标 i )的所有字符,成本为 i + 1 。 选中一个下标 i 并且反转从下标 i 到下标 n - 1(包括下标 i 和下标 n - 1 )的所有字符,成本为 n -...
【LeetCode:908. 最小差值 I + 模拟 + 思维】
🍔 目录 🚩 题目链接⛲ 题目描述🌟 求解思路&实现代码&运行结果⚡ 模拟 + 思维🥦 求解思路🥦 实现代码🥦 运行结果 💬 共勉 🚩 题目链接 908. 最小差值 I ⛲ 题目描述 给你一个整数数组 nums,和一个整数 k 。 在一个操作中,您可以选择 0 <= i < nums.length 的任何索引 i 。将 nums[i] 改为 nums[i] + x ,其中 x 是一个范围为 [-k,...
【LeetCode】每日一题 2024_10_20 最小差值 I(模拟/数学/贪心)
前言 每天和你一起刷 LeetCode 每日一题~ LeetCode 启动! 题目:最小差值 I 代码与解题思路 今天的题目也比较简单,题目要求找到数组的最大值和最小值相减的最小值,每个元素可以 +k 或者 -k,那最优的情况就是让最大值 -k,最小值 +k,转化一下就是让:最大值 - 最小值 - 2*k 就能得到题目想要的值。分类讨论一下可能出现的结果即可: 1、最大值 - 最小值 - 2*k <...
华为od机试真题:求字符串所有整数最小和(Python)
题目描述 1.输入字符串s输出s中包含所有整数的最小和,说明:1字符串s只包含a~z,A~Z,+,-, 2.合法的整数包括正整数,一个或者多个0-9组成,如:0,2,3,002,102 3.负整数,负号开头,数字部分由一个或者多个0-9组成,如-2,-012,-23,-00023 输入描述 包含数字的字符串 输出描述 所有整数的最小和 示例1 输入:bb1234aa 输出:10 说明:1+2+...
查找和最小的K对数字(LeetCode)
t_pairs(nums1, nums2, k): # 存储结果的列表 result = [] # 边界条件 if not nums1 or not nums2: return result # 使用最小堆 min_heap = [] # 初始化最小堆,存储 (和, nums1中的索引, nums2中的索引) for i in range(min(len(nums1), k)): # 只需要前 k 个...
leetcode153. 寻找旋转排序数组中的最小值
leetcode153. 寻找旋转排序数组中的最小值 使用二分法。中间值如果小于等于最右边的值,去左边部分找;中间值如果大于最右边的值,去右半部分找。 def rotate_array_min(nums): n = len(nums) low = 0 high = n - 1 while low < high: mid = low + (high - low) // 2 if nums[mid] <...
聚类算法(1)---最大最小距离、C-均值算法
聚类算法(1)---最大最小距离、C-均值算法 目录 一、聚类算法背景知识 二、常用聚类算法介绍 2.1 最大最小距离聚类算法 2.2 C-均值算法 三、聚类算法的Python实现 四、聚类算法Python实现结果 五、小结 一、聚类算法背景知识 聚类是一种无监督学习方法,旨在将数据集中的对象按照某种相似性标准划分成若干组别。聚类算法在数据挖掘、模式识别、图像处理等领域有着广泛的应...