每日leetcode第0084天 1464. Maximum Product of Two Elements in an Array

这是一道堆的题目,也就是优先队列的题目。

按照leetcode的方式,我们会获得一个数组,这样我们有三种好方法。

第一种,排序,找出最大两个相乘。

第二种,找一遍用两个变量找出最大和第二大相乘。

第三种,转成优先队列,然后弹出最大两个来相乘。

排序复杂度为nlogn,不排序复杂度为n,转成优先队列复杂度为n。

这里考查的就是堆的知识了,把数据转成优先队列和构建一个优先队列的复杂度其实不一样。

构建一个新的,复杂度是nlogn,但本就有的空间变优先队列复杂度只要n。

用优先队列来写,也很轻松写意。



关于樊轶群

一个善良的理想主义者。
此条目发表在每日LeetCode分类目录,贴了, 标签。将固定链接加入收藏夹。

发表评论

您的电子邮箱地址不会被公开。