ToB企服应用市场:ToB评测及商务社交产业平台
标题:
【LeetCode】452.用最少数量的箭引发气球
[打印本页]
作者:
去皮卡多
时间:
2024-8-14 20:20
标题:
【LeetCode】452.用最少数量的箭引发气球
能够找到问题的解法与把问题足够简化是天壤之别。比如我知道这题可以用贪心算法来办理,但是代码实现的过程中就走上了复杂的路,但是官方题解给的代码则相称轻巧。这说明我思考的不够深入,导致化繁为简的能力不够强。
1. 标题
2. 分析
一道贪心标题。
3. 代码
class Solution:
def findMinArrowShots(self, points: List[List[int]]) -> int:
# 贪心算法
points = sorted(points, key = lambda x:x[0])
print(points)
idx = 0
cnt = 0
prob = idx + 1
while(idx < len(points) and prob < len(points)):
left, right = points[idx]
while(prob < len(points)):
next_left, next_right = points[prob]
# 如果下一个节点满足条件
if left <= next_left <= right:
# 更新
left = max(left, next_left)
right = min(right, next_right)
prob += 1
else:
# 更新 idx 的值
idx = prob
cnt+=1 # 计数结果
prob += 1
break
if idx < len(points):
cnt += 1
return cnt
复制代码
上面这版代码的看着很复杂。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4