python找出不是两个数组共有的元素-pta 习题集 5-2 找出不是两个数组共有的元素 (5分)...

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

输入格式:

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

输出格式:

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

输入样例:

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

#include

#include

#include

#include

#include

#include

using namespace std;

int n,m;

int a[105];

int b[105];

map mm;

int main()

{

scanf("%d",&n);

for(int i=1;i<=n;i++)

scanf("%d",&a[i]);

scanf("%d",&m);

for(int j=1;j<=m;j++)

scanf("%d",&b[j]);

int flag=0;

mm.clear();

for(int i=1;i<=n;i++)

{

int tag=1;

for(int j=1;j<=m;j++)

{

if(a[i]==b[j])

tag=0;

}

if(tag&&!mm[a[i]])

{

if(!flag)

{

printf("%d",a[i]);

flag=1;

}

else

printf(" %d",a[i]);

mm[a[i]]=1;

}

}

for(int i=1;i<=m;i++)

{

int tag=1;

for(int j=1;j<=n;j++)

{

if(b[i]==a[j])

tag=0;

}

if(tag&&!mm[b[i]])

{

if(!flag)

{

printf("%d",b[i]);

flag=1;

}

else

printf(" %d",b[i]);

mm[b[i]]=1;

}

}

printf(" ");

return 0;

}

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

给定两个整型数组,本题要求找出不是两者共有的元素. 输入格式: 输入分别在两行中给出两个整型数组,每行先给出正整数N(≤20),随后是N个整数,其间以空格分隔. 输出格式: 在一行中按照数字给出的顺序 ...

&lbrack;google面试CTCI&rsqb; 2-2 找出链表的倒数第n个节点元素

[链表] Q:Implement an algorithm to find the nth to last element of a singly  linked list . 题目:找出链表的倒数第 ...

&lbrack;PY3&rsqb;——找出一个序列中出现次数最多的元素&sol;collections&period;Counter 类的用法

问题 怎样找出一个序列中出现次数最多的元素呢? 解决方案 collections.Counter 类就是专门为这类问题而设计的, 它甚至有一个有用的 most_common() 方法直接给了你答案 c ...

Python算法每日一题--001--给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 说明: 你的算法应该具有线性时间复杂度. 你可以不使用额外空间来实现吗? 示例 1: 输入: [ ...

在线性级别时间内找出无序序列中的第k个元素

在一个无序序列中找出第k个元素,对于k很小或者很大时可以采取特殊的方法,比如用堆排序来实现 .但是对于与序列长度N成正比的k来说,就不是一件容易的事了,可能最容易想到的就是先将无序序列排序再遍历即可找 ...

在List中找出最大值的两种方法

先说需求:找出一个对象List中,某个属性值最大的对象. 1.定义对象 private class A { public int ID { get; set; } public string Name ...

初学Java 二维数组找出最近的两个点

import java.util.Scanner; public class FindNearestPoints { public static void main(String[] args) { ...

&lbrack;LeetCode&rsqb; Find All Duplicates in an Array 找出数组中所有重复项

Given an array of integers, 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and others ...

随机推荐

mysql5&period;5&period;x升级到mysql5&period;6&period;x

大概步骤是: 把配置文件添加:skip-grant-tables参数,把basedir升级成新版本,启动mysql,执行命令:mysql_upgrade升级一下字典信息,然后flush privile ...

jquery&period;sortable&period;js源代码解读

/* * HTML5 Sortable jQuery Plugin * http://farhadi.ir/projects/html5sortable * * Copyright 2012, Ali ...

BOOST中read&lowbar;some和 boost&colon;&colon;asio&colon;&colon;error&colon;&colon;eof&lpar;2&rpar;错误

当socket读写完成调用回调函数时候一定要检查 是不是有EOF错误,如果有那么好了,另一方已经断开连接了别无选择,你也断开把.   for (;;) { boost::array < char ...

css中盒子宽高的auto

CSS盒模型中,auto属性只适用于外margin和width,height,border和padding不适用.下面就来说说它的情况.这里所说的都是标准流盒子. 1.横向来说 (1)若设置width ...

Zookeeper-5分钟快速掌握分布式应用程序协调服

一.Zookeeper 安装 1.zookeeper支持brew安装. ➜ ~ brew info zookeeper zookeeper: stable (bottled), HEAD Centra ...

webpack——devtool里的7种SourceMap模式

我们先来看看文档对这 7 种模式的解释: 模式 解释 eval 每个module会封装到 eval 里包裹起来执行,并且会在末尾追加注释 //@ sourceURL. source-map 生成一个S ...

vim环境设置&lpar;应用于python编程&rpar;

1. 安装完整的vim # apt-get install vim-gnome 2. 安装ctags,ctags用于支持taglist,必需! # apt-get install ctags 3. 安 ...

Appium适配Android7&period;0以上版本

Appium适配Android7.0以上版本 测试机型: 华为荣耀V9 安卓版本: Android7.0 appium版本: 1.65 说明: 公司新采购了一批安卓机器,拿了其中一台华为荣耀V9跑之前 ...

python&plus;unittest 控制用例的执行顺序

unittest的main()方法执行用例的顺序是按照测试类.测试方法的名字的ASCII顺序来执行测试方法.所以可能执行的顺序和你想要的顺序不一样,可能通过下面两种方法修改执行顺序 1. 通过Test ...

Mock an function to modify partial return value by special arguments on Python

Mock an function to modify partial return value by special arguments on Python python mock一个带参数的方法,修 ...

### 回答1: 可以使用set()函数将两个数组转换为集合,然后使用差集操作符“-”找出共有元素。具体代码如下: ```python a = [1, 2, 3, 4, 5] b = [3, 4, 5, 6, 7] c = set(a) - set(b) | set(b) - set(a) print(c) ``` 输出结果为: ``` {1, 2, 6, 7} ``` 其,set(a) - set(b)表示在a但不在b元素,set(b) - set(a)表示在b但不在a元素,两者取并集即为不共有元素。 ### 回答2: Python是一种高级编程语言,非常适合进行数据处理和数组操作。如果需要找出不是两个数组共有元素,可以使用set(集合)的方法来实现。集合在Python是一个不重复元素的无序集合,可以通过数学运算符来比较和操作。 首先,创建两个数组: ``` a = [1, 2, 3, 4, 5] b = [3, 4, 5, 6, 7] ``` 接下来,将两个数组转换为集合,并使用Python的集合运算符进行比较操作: ``` set_a = set(a) set_b = set(b) result = set_a.symmetric_difference(set_b) ``` 这个操作返回的是两个数组不相同的元素。结果为: ``` {1, 2, 6, 7} ``` 这代表只有1,2,6和7是两个数组没有共有元素。 还可以使用列表解析(list comprehension)来实现相同的操作,代码如下: ``` result = [x for x in a + b if x not in set_a.intersection(set_b)] ``` 这个操作将两个数组相加,并从总数删除相同的元素。最后,使用列表解析计算不是交集的元素。结果是相同的: ``` [1, 2, 6, 7] ``` 总之,Python提供了多种方法来找到两个数组不相同的元素。使用集合和列表解析等高效的技术可以简化代码,并提高计算效率。 ### 回答3: Python找出两个数组共有元素是非常简单的,只需通过集合(set)的交集运算即可。但是,如果要找出不是两个数组共有元素,需要更为复杂的方法。以下是一个可能的解决方案: 首先,将两个数组转换成集合,使用set()函数即可。然后,利用集合的差集运算,即set1 - set2(或者set2 - set1,取两个差集的并集)即可得到不是两个数组共有元素。最终,将差集转换回列表或者数组即可。 具体实现方式如下: ``` list1 = [1, 2, 3, 4, 5] list2 = [4, 5, 6, 7, 8] set1 = set(list1) set2 = set(list2) diff = list(set1 - set2) + list(set2 - set1) print(diff) ``` 以上代码的输出结果将是[1, 2, 3, 6, 7, 8],即为不是两个数组共有元素。通过简单的集合差集计算,我们成功地找到了不同的元素,即便数组大小不一,元素内容不同,这种方法都可以适用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值