在列表中找到3个最高值(包括负数)

阿克

我很难弄清楚这个面试蛋糕的问题

给定一个array_of_ints,找到可以从三个整数中获得的最高值。

Input: [-100, 5, 50, -200, 10, 1, 60]
Output: [-100, -200, 60]

基本上,忽略负号并找到3个最大值,然后附加到新数组,同时将负号保留在这些值上。这是我目前的工作:

def highest_values(array):
    sort = sorted(array)
    new_array=[]
    while len(new_array)<3:
        for i in range(0,len(sort)):
            for j in sort[i:]:
                if abs(sort[i])>abs(j):
                    new_array.append(sort[i])
                    break
    print(new_array)

highest_values([-100, 5, 50, -200, 10, 1, 60])

但是,我没有得到预期的输出。

我可以在当前代码中获得一些提示,还是我以错误的方式来处理?

提前致谢!编辑:(我在解释问题时犯了一个严重错误。现在我知道我需要从列表中的3个值中找到最大的乘积)

最初,我想在排除负号的同时从列表中找到三个最高值。

不用担心再回答这个问题。从技术上讲,仅在下面回答。明天我将正确解决该问题。感谢您的帮助和提示。

你帮了很多忙。很好的建议,谢谢您的帮助

肠杆菌

该问题与产品有关,但您的示例输出中没有看到任何产品。如果只想获取三个最大值而忽略符号,则可以执行以下操作:

sorted(array, key=abs, reverse=True)[:3]

基本上,key参数使您可以指定在进行比较之前必须应用于列表元素的函数。在这里,我们abs用来忽略符号。reverse=True是强加给后代的命令,那么你可以得到前三个元素。

您还可以使用以下heapq.nlargest功能:

from heapq import nlargest
nlargest(3, array, key=abs)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Django查询中找到下一个最高值

来自分类Dev

在Ruby中的哈希中找到最低和最高值

来自分类Dev

从defaultdict中找到具有最高值的密钥对

来自分类Dev

从defaultdict中找到具有最高值的密钥对

来自分类Dev

比较 3 个值 - 显示最高值

来自分类Dev

在对象中找到最高值的键,然后将其发布到innerHTML

来自分类Dev

在列中找到最高值,在该列中插入新的记录,并再增加1

来自分类Dev

mongon:在另一列中找到具有最高值的ID

来自分类Dev

如何使用 EF Core 2.1 从匹配模式的数据库中找到最高值?

来自分类Dev

在arraylist中获得前3个最高值?

来自分类Dev

如何找到div的滚动最高值

来自分类Dev

SQL选择5个最高值

来自分类Dev

在javascript数组中找到出现次数最高的3个值。我最多只需要出现3次

来自分类Dev

将每行的2个最高值保留在矩阵列表中

来自分类Dev

从字典列表中,获得N个具有最高值的字典

来自分类Dev

如何找到此数组的最低和最高值(java)

来自分类Dev

数组的最高值

来自分类Dev

按嵌套列表的最高值对字典进行排序

来自分类Dev

从数组列表中返回具有最高值的对象?

来自分类Dev

在字典中找到一个值为列表的项目

来自分类Dev

如何从哈希图中获取5个最高值?

来自分类Dev

获取ndarray中N个最高值的索引

来自分类Dev

使用reverse()JavaScript求和两个最高值

来自分类Dev

输入5个号码之后返回的数组的最高值

来自分类Dev

检索每个组中的三个最高值

来自分类Dev

Pyspark-分组并选择N个最高值

来自分类Dev

检索表中的两个最高值

来自分类Dev

Java:在HashMap中获取2个最高值的索引

来自分类Dev

从两个文件中获取最高值

Related 相关文章

热门标签

归档