力扣第 172 场双周赛

3779. 得到互不相同元素的最少操作次数

题目类型

#模拟 #哈希表

解题思路

参考:这道题很简单!

示例代码

python
class Solution:
    def minOperations(self, nums: List[int]) -> int:
        ans = 0
        st = set()
        for i in range((len(nums) + 2) // 3, -1, -1):
            for x in nums[3 * i : 3 * i + 3]:
                if x in st:
                    return i + 1
                st.add(x)
        return 0

3780. 能被 3 整除的三元组最大和

题目类型

#贪心 #排序

解题思路

参考:这道题很简单!

示例代码

python
class Solution:
    def maximumSum(self, nums: List[int]) -> int:
        mod3 = [[] for _ in range(3)]
        ans = 0
        for x in nums:
            mod3[x % 3].append(x)
        for row in mod3:
            row.sort(reverse=True)

        st = []
        for i in range(4):
            for j in range(4):
                for k in range(4):
                    if i + j + k == 3 and (j + 2 * k) % 3 == 0:
                        st.append([i, j, k])
        ans = 0
        for p in st:
            tmp = 0
            flag = True
            for i, v in enumerate(p):
                if len(mod3[i]) < v:
                    flag = False
                    break
                tmp += sum(mod3[i][:v])
            if flag:
                ans = max(tmp, ans)
        return ans

3781. 二进制交换后的最大分数

题目类型

#贪心 #堆

解题思路

从右往左,用堆维护最值,遇到 "0" 时更新堆顶元素至答案

参考:两种方法:从左到右 / 从右到左(Python/Java/C++/Go)

示例代码

python
class Solution:
    def maximumScore(self, nums: List[int], s: str) -> int:
        h = []
        ans = 0
        for i in range(len(nums) - 1, -1, -1):
            heappush(h, nums[i])
            ans += nums[i]
            if s[i] == "0":
                ans -= heappop(h)
        return ans

3782. 交替删除操作后最后剩下的整数

题目类型

#数学 #模拟

解题思路

参考:这道题很简单!

示例代码

python
class Solution:
    def lastInteger(self, n: int) -> int:
        st = 1
        base = 1
        flag = True
        while n > 1:
            if n % 2 == 0:
                if not flag:
                    st += base
            n = (n + 1) // 2
            flag = not flag
            base *= 2
        return st
常用的 Git 语法
力扣第 479 场周赛
Valaxy v0.28.4 驱动|主题-Yunv0.28.5
本站总浏览量: -本站总访客数: -
本站已运行0 天0 小时0 分0 秒