Leetcode 3301. Maximize the Total Height of Unique Towers

  • [Leetcode 3301. Maximize the Total Height of Unique Towers](#Leetcode 3301. Maximize the Total Height of Unique Towers)
    • [1. 解题思路](#1. 解题思路)
    • [2. 代码实现](#2. 代码实现)

1. 解题思路

这一题思路上还是比较直接的,我们只需要排序之后从大到小依次分配最大可能的高度即可。

如果出现某个位置最大允许分配的高度为0,那么就说明无法构造成功,反之即可给出最大高度了。

2. 代码实现

给出python代码实现如下:

python 复制代码
class Solution:
    def maximumTotalSum(self, maximumHeight: List[int]) -> int:
        maximumHeight = sorted(maximumHeight, reverse=True)
        _max = math.inf
        ans = 0
        for h in maximumHeight:
            if _max <= 1:
                return -1
            ans += min(h, _max-1)
            _max = min(h, _max-1)
        return ans

提交代码评测得到:耗时1081ms,占用内存31.5MB。

相关推荐
Tisfy1 分钟前
LeetCode 3315.构造最小位运算数组 II:位运算
算法·leetcode·题解·位运算
YuTaoShao15 分钟前
【LeetCode 每日一题】1292. 元素和小于等于阈值的正方形的最大边长
算法·leetcode·职场和发展
Remember_99316 分钟前
【数据结构】深入理解Map和Set:从搜索树到哈希表的完整解析
java·开发语言·数据结构·算法·leetcode·哈希算法·散列表
重生之后端学习1 小时前
25. K 个一组翻转链表
java·数据结构·算法·leetcode·职场和发展
程序员-King.1 小时前
day157—回溯—括号生成(LeetCode-22)
算法·leetcode·回溯
后来后来啊1 小时前
2026.1.21学习笔记
笔记·学习·leetcode·#算法·#cpp
圣保罗的大教堂1 小时前
leetcode 3314. 构造最小位运算数组 I 简单
leetcode
会员果汁2 小时前
leetcode-887. 鸡蛋掉落-C
c语言·算法·leetcode
夏鹏今天学习了吗10 小时前
【LeetCode热题100(87/100)】最小路径和
算法·leetcode·职场和发展
Lips61112 小时前
2026.1.20力扣刷题笔记
笔记·算法·leetcode