📌  相关文章
📜  只有在数组中的正负值中具有正值的整数(1)

📅  最后修改于: 2023-12-03 15:07:26.252000             🧑  作者: Mango

只有在数组中的正负值中具有正值的整数
简介

在处理数组时,经常需要找出数组中具有特定属性的元素。在这个主题中,我们要找出数组中只有在正负值中具有正值的整数。

实现方法

方法一

可以通过循环遍历数组,统计出所有非负数的个数与正数的个数,如果正数的个数为1且非负数的个数等于数组长度减去1,则该元素符合条件。

def find_positive_integer(arr):
    n_non_negative = 0
    n_positive = 0
    for num in arr:
        if num >= 0:
            n_non_negative += 1
            if num > 0:
                n_positive += 1
    if n_positive == 1 and n_non_negative == len(arr) - 1:
        return True
    else:
        return False

方法二

还可以通过过滤出非负数与正数的数量,然后利用这两个数量来判断是否符合条件。

def find_positive_integer(arr):
    non_negatives = list(filter(lambda x: x >= 0, arr))
    positives = list(filter(lambda x: x > 0, arr))
    if len(positives) == 1 and len(non_negatives) == len(arr) - 1:
        return True
    else:
        return False
测试

测试代码:

assert find_positive_integer([1, -1, 2, 3, 4, 5]) == True
assert find_positive_integer([1, -1, -2, -3, -4, -5]) == False
assert find_positive_integer([1, -1, 0, 3, 4, 5]) == False
总结

在处理数组时,很多时候需要找出特定属性的元素。本主题介绍了找出数组中只有在正负值中具有正值的整数的方法,包括两种实现方式。