申通e物流的网站建设,合肥建设监理协会网站,印度外贸网站有哪些,这个网站的建设流程LeetCode笔记#xff1a;Biweekly Contest 98 1. 题目一 1. 解题思路2. 代码实现 2. 题目二 1. 解题思路2. 代码实现 3. 题目三 1. 解题思路2. 代码实现 4. 题目四 比赛链接#xff1a;https://leetcode.com/contest/biweekly-contest-98
1. 题目一
给出题目一的试题链接如…LeetCode笔记Biweekly Contest 98 1. 题目一 1. 解题思路2. 代码实现 2. 题目二 1. 解题思路2. 代码实现 3. 题目三 1. 解题思路2. 代码实现 4. 题目四 比赛链接https://leetcode.com/contest/biweekly-contest-98
1. 题目一
给出题目一的试题链接如下
2566. Maximum Difference by Remapping a Digit
1. 解题思路
这一题思路上比较直接就是分别找到最大和最小的变换数字然后求差即可。
而要获得最大/最小的数只需要把从头开始的第一个不是9/0的数字全部换为9/0即可。
2. 代码实现
给出python代码实现如下
class Solution:def minMaxDifference(self, num: int) - int:s str(num)def replace(s, tgt):src res []for ch in s:if ch ! tgt and src :src chif ch src:res.append(tgt)else:res.append(ch)return int(.join(res))return replace(s, 9) - replace(s, 0)提交代码评测得到耗时40ms占用内存13.8MB。
2. 题目二
给出题目二的试题链接如下
2567. Minimum Score by Changing Two Elements
1. 解题思路
这一题要获得所有可能中的最小值我们只要分别令low和high均能取到最小即可。
事实上我们总可以令low为0而要令high最小其实就是让排序之后的首尾数据差值最小因此事实上我们就是比较以下三种情况中的最小值
最大元素与第三小元素的差值第二大元素与第二小元素的差值第三大元素与最小元素的差值
2. 代码实现
给出python代码实现如下
class Solution:def minimizeSum(self, nums: List[int]) - int:nums sorted(nums)return min(nums[-1]-nums[2], nums[-3]-nums[0], nums[-2]-nums[1])提交代码评测得到耗时362ms占用内存26.7MB。
3. 题目三
给出题目三的试题链接如下
2568. Minimum Impossible OR
1. 解题思路
这一题通过反证法不难证明最小的无法被构成的数一定是2的幂次方且其只能靠自己来实现。
因此我们只需要依序不断的考察2的幂次是否存在于给定的数组当中即可。
2. 代码实现
给出python代码实现如下
class Solution:def minImpossibleOR(self, nums: List[int]) - int:nums set(nums)res 1for _ in range(32):if res not in nums:return resres * 2return res提交代码评测得到耗时494ms占用内存30.1MB。
4. 题目四
给出题目四的试题链接如下
2569. Handling Sum Queries After Update
这一题放弃了实在是没啥思路主要是关于第一个操作对于第二、第三个操作我们只需要不断地维护一下nums2的数组之和即可而关于第二个操作我们事实上就是在nums2原有的和的基础上加上p×∑(n1i)p \times \sum(n_{1i})p×∑(n1i)。
但是问题就是如何在频繁地进行1操作之后能够快速地维护和获取nums1的数据求和这个暂时没有想到一个很好的思路就卡在这个里面了……
如果有大佬知道这个问题的解法的话请务必指导一下