gpt4 book ai didi

c - 在 C 中获取两个数组差异的有效方法是什么?

转载 作者:行者123 更新时间:2023-11-30 18:21:53 24 4
gpt4 key购买 nike

示例输入

Array_1 [] = { 10, 20, 30, 40, 50 };
Array_2 [] = { 30, 40, 50, 60, 70 };

示例输出

Array_1_Extras [] = { 10, 20 };
Array_2_Extras [] = { 60, 70 };

描述

  1. 输入数组未排序。

  2. 输入数组长度 - 10K。

  3. 输入数组值范围为 0 - 4095。

  4. 不应修改输入数组的顺序和值。

  5. 输出数组可以采用任意顺序。

  6. 输出数组中不需要重复项。

我需要一些时间高效的逻辑来完成这个程序。提前致谢。

最佳答案

这是一个简单的O(N)时间算法,有点消耗空间(它也考虑了重复项)。

1) 声明一个长度为 4096 的零数组 C
2) 迭代第一个数组 A 并对每个索引为 i 的元素进行迭代 增量 C[A[i]]< br/>3) 迭代第二个数组B,并对每个元素i 递减 C[B[i]]
4) 迭代Ci,负C[i]将表示B - A的元素,正数的 和 表示 A - B
的元素* 如果您有兴趣,绝对值将表明受骗数量的差异..

关于c - 在 C 中获取两个数组差异的有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34615915/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com