搜索数组中第一个不重复的元素:

问题描述 投票:0回答:1

First non repeating element )

你能告诉我我的代码有什么问题吗?[初学者顺便说一句] 我想创建一个新数组,然后在其中附加所有非重复元素 所以第一个非重复元素是 arr[0] 这里输出应该有 5

arrays python-3.x append
1个回答
0
投票

你可以这样解决:

def remove_duplicates(arr):
    counts = {}
    for num in arr:
        counts[num] = counts.get(num, 0) + 1

    unique = []
    for num, count in counts.items():
        if count == 1:
            unique.append(num)

    return unique


input_array = [1, 2, 3, 1, 3, 5]
result = remove_duplicates(input_array)
print(result)  # Output: [2, 5]
print(result[0]) # Output: 2

第一个

for
循环创建一个字典,其中包含输入数组的元素及其计数。它看起来像这样:
counts = {1: 2, 2: 1, 3: 2, 5: 1}

在第二个

for
循环中,您将获取计数为 1 的所有元素(即在输入数组中仅出现一次的元素)并将它们添加到数组
unique
中,然后返回该数组。

您可以通过访问索引 0 处的元素来打印第一个唯一元素。

© www.soinside.com 2019 - 2024. All rights reserved.