首页 > 其他分享 >俩个数组取不同

俩个数组取不同

时间:2024-11-13 14:18:03浏览次数:3  
标签:int 不同 isAlreadyOutput outputCount ++ 俩个 arr2 数组 output

7-6 找出不是两个数组共有的元素

给定两个整型数组,本题要求找出不是两者共有的元素。

输入格式:

输入分别在两行中给出两个整型数组,每行先给出正整数N(≤20),随后是N个整数,其间以空格分隔。

输出格式:

在一行中按照数字给出的顺序输出不是两数组共有的元素,数字间以空格分隔,但行末不得有多余的空格。题目保证至少存在一个这样的数字。同一数字不重复输出。

输入样例:

10 3 -5 2 8 0 3 5 -15 9 100
11 6 4 8 2 6 -5 9 0 100 8 1

输出样例:

3 5 -15 6 4 1

#include <stdio.h>

int main() {
    int N, n;
    scanf("%d", &N);
    int arr1[N];
    for (int i = 0; i < N; i++) {
        scanf("%d", &arr1[i]);
    }

    scanf("%d", &n);
    int arr2[n];
    for (int i = 0; i < n; i++) {
        scanf("%d", &arr2[i]);
    }

    int output[40];  // 假设两个数组元素总和不超过40个,用于存储最终要输出的不同元素
    int outputCount = 0;

    // 先处理第一个数组中的不同元素
    for (int i = 0; i < N; i++) {
        int isInArr2 = 0;
        for (int j = 0; j < n; j++) {
            if (arr1[i] == arr2[j]) {
                isInArr2 = 1;
                break;
            }
        }
        if (!isInArr2) {
            int isAlreadyOutput = 0;
            for (int k = 0; k < outputCount; k++) {
                if (arr1[i] == output[k]) {
                    isAlreadyOutput = 1;
                    break;
                }
            }
            if (!isAlreadyOutput) {
                output[outputCount++] = arr1[i];
            }
        }
    }

    // 再处理第二个数组中的不同元素
    for (int i = 0; i < n; i++) {
        int isInArr1 = 0;
        for (int j = 0; j < N; j++) {
            if (arr2[i] == arr1[j]) {
                isInArr1 = 1;
                break;
            }
        }
        if (!isInArr1) {
            int isAlreadyOutput = 0;
            for (int k = 0; k < outputCount; k++) {
                if (arr2[i] == output[k]) {
                    isAlreadyOutput = 1;
                    break;
                }
            }
            if (!isAlreadyOutput) {
                output[outputCount++] = arr2[i];
            }
        }
    }

    // 输出最终结果
    for (int i = 0; i < outputCount; i++) {
        if (i > 0) {
            printf(" ");
        }
        printf("%d", output[i]);
    }
    printf("\n");

    return 0;
}

标签:int,不同,isAlreadyOutput,outputCount,++,俩个,arr2,数组,output
From: https://blog.csdn.net/Q1684964515/article/details/143742447

相关文章

  • 空气开关(空气断路器)根据额定电流的不同,可以选择不同规格的开关。家用230V电路中,常见的
    空气开关(空气断路器)根据额定电流的不同,可以选择不同规格的开关。家用230V电路中,常见的额定电流规格有6A、10A、16A、20A、25A、32A、40A、50A、63A等。这些规格的空气开关主要区别在于它们适应的电流负荷大小,从而保护不同功率的家用电器和电路。以下是这些常见规格的比较表格:......
  • 瓷砖的规格种类非常多,适用于不同场景和用途。常见的规格通常按尺寸、材质、功能和安装
    瓷砖的规格种类非常多,适用于不同场景和用途。常见的规格通常按尺寸、材质、功能和安装方式等进行分类。下面是一些常见瓷砖规格及其施工建议的对比表格,帮助选择适合的规格和施工人数。瓷砖规格与施工建议规格/尺寸(mm)适用场景常见材质适用类型施工人数建议优点缺点......
  • PPR水管(聚丙烯随机共聚物水管)和PVC水管(聚氯乙烯水管)是常见的建筑和家装管道材料,它们在
    PPR水管(聚丙烯随机共聚物水管)和PVC水管(聚氯乙烯水管)是常见的建筑和家装管道材料,它们在材质、性能、用途、安装方式等方面有许多不同。下面是这两种管材的详细区别:1. 材料组成PPR水管(聚丙烯随机共聚物水管):由聚丙烯(PP)材料制成,特别是随机共聚物(PP-R),具有较好的机械性能、耐热性......
  • 电线、硬铜线和铜丝线是常见的电气连接和传导材料,它们在结构、用途、性能等方面有所不
    硬铜线与铜丝线的对比表格:特点硬铜线铜丝线材质纯铜(未经过退火处理)由多根细铜丝编织而成柔韧性较差,硬且不容易弯曲较好,具有较好的弯曲能力导电性良好,铜的导电性优异良好,铜的导电性优异抗拉强度高,适合高负载和长距离传输较低,柔性较好但抗拉强度差耐......
  • 避免将 let 与数组和对象一起使用
    首先,让我们明确一点……使用let数组和对象本身根本不成问题。但有一些特定的注意事项可能会导致在某些情况下避免使用它:重新分配与变异众所周知,let允许我们重新分配变量本身,这可能会导致混乱或数据丢失。对象/数组可能会意外地被重新分配一整套新数据(新对象/新数组)。使用const......
  • 力扣21 打卡15 长度为 K 的子数组的能量值 II
    思路:该算法使用滑动窗口和计数器来判断每个长度为(k)的子数组是否满足连续递增的条件。遍历数组时,使用cnt记录当前连续递增的元素数。如果当前元素和前一个元素不连续递增,则将cnt重置为1,否则增加cnt。当cnt大于等于(k)时,表示找到了一个满足条件的子数组,将......
  • LCR 012. 寻找数组的中心下标(简单)(主站724)
    https://leetcode.cn/problems/tvdfij/https://leetcode.cn/problems/find-pivot-index/难度:☆☆☆题目:给你一个整数数组nums,请计算数组的中心下标。数组中心下标是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。如果中心下标位于数组最左端,那么左......
  • LCR 011. 连续数组(中等)(主站525)
    https://leetcode.cn/problems/A1NYOS/https://leetcode.cn/problems/contiguous-array/难度:☆☆☆☆题目:给定一个二进制数组nums,找到含有相同数量的0和1的最长连续子数组,并返回该子数组的长度。示例:输入:nums=[0,1]输出:2说明:[0,1]是具有相同数......
  • 洛谷题单指南-二叉堆与树状数组-P1878 舞蹈课
    原题链接:https://www.luogu.com.cn/problem/P1878题意解读:n个男女排列一行,每人舞蹈技术是ai,每次找到相邻男女舞蹈技术差值绝对值最小的一对出列,输出每对出列的人员编号。解题思路:设初始有8人编号为:12345678将12,23,34,45,56,67,78中是男女的配对编号以及a......
  • 【运维】如何在不同操作系统上获取计算机硬件信息
    目录引言一、Windows操作系统1.1获取CPU信息1.2获取内存信息1.3获取硬盘信息1.4获取显卡信息1.5获取显存信息二、macOS操作系统2.1获取CPU信息2.2获取内存信息2.3获取硬盘信息2.4获取显卡信息2.5获取显存信息三、Linux操作系统3.1获取CPU信息3.2......