精华内容
下载资源
问答
  • 交集的非
    2019-09-26 14:57:46

    let arr1=new Set([1,2,3,1,2,3,4,5,3,32,2]);
    let arr2=new Set([1,4,32,4,3,6,8,9,9,]);
    let arr3=new Set([...arr1].filter((item)=> arr2.has(item)))

    |||||||||||||||||||去数组的交集                        !arr2.has(item)  非集

    new Set([...arr1,...arr2]),取并集

    转载于:https://www.cnblogs.com/MDGE/p/9918167.html

    更多相关内容
  • 交集非交集

    2010-06-05 11:50:22
    交集非交集交集非交集交集非交集
  • 1、法一:常规方法 2、嗯,.NET中所有的sort,compare都支持自定义“比较方法”继承这个接口即可 您可能感兴趣的文章:C#中Linq查询基本操作使用实例c#中LINQ的基本用法实例C# linq查询之动态OrderBy用法实例C#中...
  • Java 8使用Stream和Lambda表达式求对象集合的交集、差集

    问题分析

    现在有两个类:

    class ClassA {
        String id;
        String realName;
    
        public ClassA(String id, String realName) {
            this.id = id;
            this.realName = realName;
        }
    
        @Override
        public String toString() {
            return "ClassA{" +
                    "id='" + id + '\'' +
                    ", realName='" + realName + '\'' +
                    '}';
        }
    
        public String getId() {
            return id;
        }
    
        public String getRealName() {
            return realName;
        }
    }
    
    class ClassB {
        String id;
        String nickName;
    
        public ClassB(String id, String nickName) {
            this.id = id;
            this.nickName = nickName;
        }
    
        @Override
        public String toString() {
            return "ClassB{" +
                    "id='" + id + '\'' +
                    ", nickName='" + nickName + '\'' +
                    '}';
        }
    
        public String getId() {
            return id;
        }
    
        public String getNickName() {
            return nickName;
        }
    }
    

    现在有两个集合,分别是ClassA对象的集合、ClassB对象的集合:

    List<ClassA> aList = new ArrayList<>(Arrays.asList(
            new ClassA("1", "张三"),
            new ClassA("2", "李四"),
            new ClassA("3", "王五")
    ));
    List<ClassB> bList = new ArrayList<>(Arrays.asList(
            new ClassB("2", "李某"),
            new ClassB("3", "王某"),
            new ClassB("4", "赵某")
    ));
    

    现在要根据id求任意两个集合的交集、差集。

    基本思想

    基本思想就是想遍历第一个集合,取出第一个集合中的每个元素的某个属性,并使用这个属性遍历第二个集合,看这个属性是否在第二个集合中存在。相当于是有两层循环。
    Java 8中引入了StreamLambda表达式,使用它们无需自己编写for循环,只需一行代码就能实现上述功能。

    代码实现

    求交集

    //aList与bList的交集
    List<ClassA> intersectA = aList
            .stream() //获取第一个集合的Stream1
            .filter(  //取出Stream1中符合条件的元素组成新的Stream2,lambda表达式1返回值为true时为符合条件
                    a ->  //lambda表达式1,a为lambda表达式1的参数,是Stream1中的每个元素
                            bList.stream() //获取第二个集合的Stream3
                                    .map(ClassB::getId) //将第二个集合每个元素的id属性取出来,映射成新的一个Stream4
                                    .anyMatch( //返回值(boolean):Stream4中是否至少有一个元素使lambda表达式2返回值为true
                                            id -> //lambda表达式2,id为lambda表达式2的参数,是Stream4中的每个元素
                                                    Objects.equals(a.getId(), id) //判断id的值是否相等
                                    )
            )
            .collect(Collectors.toList()); //将Stream2转换为List
    System.out.println(intersectA);
    

    在这里插入图片描述
    输出结果为:

    [ClassA{id=‘2’, realName=‘李四’}, ClassA{id=‘3’, realName=‘王五’}]

    求差集

    //bList与aList的差集
    List<ClassB> differenceB = bList.stream().filter(b -> aList.stream().map(ClassA::getId).noneMatch(id -> Objects.equals(b.getId(), id))).collect(Collectors.toList());
    System.out.println(differenceB);
    

    输出结果为:

    [ClassB{id=‘4’, nickName=‘赵某’}]

    展开全文
  • 求两个降序单链表的交集,例如将单链表1->2->2->3 和 2->2->3->3->5->7 的交集产生新单链表 2->3,只能输出结果,不能修改两个单链表的数据。 【输入形式】 第一行为第一个单链表的各...

    【问题描述】

    求两个非降序单链表的交集,例如将单链表1->2->2->3 和 2->2->3->3->5->7 的交集产生新单链表 2->3,只能输出结果,不能修改两个单链表的数据。

    【输入形式】

    第一行为第一个单链表的各结点值,以单个空格分隔。

    第二行为第二个单链表的各结点值,以单个空格分隔。

    【输出形式】

    交集的单链表,以升序排列(无重复值),值与值之间以单个空格分隔。

    【样例输入】

    4 7 10 34(换行符)

    1 4 6 29 34 34 52(换行符)

    【样例输出】

    4 34

    【样例说明】
    【评分标准】

    要使用链表实现,否则不能得分。

    #include<stdio.h>
    #include<malloc.h>
    #include<iostream>
    using namespace std;
    
    typedef struct LNode
    {
    	int data;
    	struct LNode *next;
    }LNode,*LinkList;
    
    void CreateList(LinkList &L)
    {
    	L = (LinkList)malloc(sizeof(LNode));//头节点 
    	L->next=NULL;
    	LinkList p=L;
    	char ch;
    	do
    	{
    		LinkList p1;
    		p1=(LinkList)malloc(sizeof(LNode));
    		scanf("%d",&p1->data);
    		ch=getchar();
    		p1->next=p->next;
    		p->next=p1;
    		p=p1;
    	}while(ch!='\n');
    	//p->next=NULL;
    }
    
    void Delete(LinkList &L)
    {
    	LinkList q;
    	q=L->next;
    	while(q->next)
    	{
    		if(q->data==q->next->data)
    		{
    			LinkList p=q->next;
    			q->next = p->next;
    			free(p);
    		}
    		else
    			q=q->next;
    	}
    }
    
    void IntersectionList(LinkList &L1,LinkList &L2 ,LinkList &L3)
    {
    	LinkList p1 = L1->next;
    	LinkList p2 = L2->next;
    	LinkList p3;
    	L3=p3=L1;
    	while(p1&&p2)
    	{
    		if(p1->data<p2->data)
    		{
    			LinkList p =p1;
    			p1=p1->next;
    			free(p);	
    		}
    		else if(p1->data>p2->data)
    		{
    			LinkList p =p2;
    			p2=p2->next;
    			free(p);
    		}
    		else
    		{
    			p3->next=p1;
    			p3=p1;
    			p1=p1->next;	
    		}
    	}
    	LinkList p = p1?p1:p2;
    	p3->next=NULL;
    	LinkList pa;
    	while(p)
    	{
    		pa = p;
    		p=p->next;
    		free(pa);
    	}
    	free(L2);	
    }
    
    int main()
    {
    	LinkList L1,L2,L3;
    	CreateList(L1);
    	CreateList(L2);
    	IntersectionList(L1,L2,L3);
    	LinkList q;
    	q=L3->next;
    	if(q!=NULL)
    	{
    		Delete(L3);
    		while(q)
    		{
    			printf("%d ",q->data);
    			q=q->next;
    		}
    	}
    	else
    		printf("NULL");
    }
    
    
    
    
    
    展开全文
  • 在两级逻辑综合中,典型的输入规范是一组最小项,它们定义了on set和一组minterm定义了Boolean函数的无关集。 问题是综合一组涵盖所有... 我们还表明,合成问题可以简化为找到负数的问题一组线性方程和不等式的解。
  • 大学毕业之后就没认认真真学习过数据库相关的知识,特别是SQL语句,要用到的时候上百度,不用的时候根本不会往这块想,今天有幸面试了一位候选人,期间问了一个如何查询两表的非交集部分,题目其实不难,实现的思路...

    大学毕业之后就没认认真真学习过数据库相关的知识,特别是SQL语句,要用到的时候上百度,不用的时候根本不会往这块想,今天有幸面试了一位候选人,期间问了一个如何查询两表的非交集部分,题目其实不难,实现的思路也很多,但说实话如果对一个不经常使用SQL语句的人来说,实现起来还是有点困难的。笔者采用的验证环境是在MySQL系统下。

    一、实现

    1. 登录数据库
      首先,登录MySQL的默认数据库test,我们的验证从这里开始。主要涉及3条命令,如下:

      mysql -uroot -p # 在linux环境下登录mysql数据库
      show databases; – 显示mysql下有所有数据库
      use test; – 进入test数据库
      show tables; – 显示test数据库下的所有表
      在这里插入图片描述

    2. 建表
      为了测试方便,我们把模型简化了,我们就建一个只有3个字段的人员表,ID、Name、Age,其中ID为主键。然后插入相应的数值,建表语句如下:

      mysql> create table tb_a(ID int,Name varchar(255),Age int,PRIMARY KEY (ID));
      mysql> create table tb_b(ID int,Name varchar(255),Age int,PRIMARY KEY (ID));
      mysql> INSERT INTO tb_a VALUES (1,‘Ada’,10);
      mysql> INSERT INTO tb_a VALUES (2,‘Bon’,12);
      mysql> INSERT INTO tb_a VALUES (3,‘Cat’,15);
      mysql> INSERT INTO tb_b VALUES (2,‘Bon’,12);
      mysql> INSERT INTO tb_b VALUES (4,‘Dog’,18);
      mysql> INSERT INTO tb_b VALUES (5,‘Egg’,20);

      最终的表如下:
      在这里插入图片描述

    3. 实现
      3.1 交集
      JOIN是标准SQL语句解决交集问题的关键字,衍生出INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN等。在这里我们只是用到简单的JOIN…ON…语句,交集命令如下:SELECT a.ID,a.Name,a.Age FROM tb_a AS a JOIN tb_b AS b ON a.ID =b.ID;
      在这里插入图片描述
      当然除了上面做何种思路,也可以通过IN关键字达到同样目的,代码如下:SELECT * FROM tb_a WHERE ID IN (SELECT ID FROM tb_b);
      在这里插入图片描述
      3.2 并集
      UNION就是标准的SQL语句解决表合并问题,UNION是去重的,UNION ALL是不去重的,具体代码是:SELECT * FROM tb_a UNION SELECT * FROM tb_b;
      在这里插入图片描述
      3.3 差集
      由于MySQL不支持EXCEPT字段,所以我们采用NOT IN,思路是先取A中所有记录再过滤掉B中有的记录,具体语句是:SELECT * FROM tb_a WHERE ID NOT IN (SELECT ID FROM tb_b);
      在这里插入图片描述
      3.4 非交集
      回到本文的出发点,SQL语句中并没有一个关键字是解决非交集问题的,但是通过上面三个功能的实现,我们可以把非交集转换为A-B的差集并上B-A的差集的并集,具体语句是:SELECT * FROM tb_a WHERE ID NOT IN (SELECT ID FROM tb_b) UNION SELECT * FROM tb_b WHERE ID NOT IN (SELECT ID FROM tb_a);
      在这里插入图片描述
      最后总结一下JOIN相关的内容如下:
      在这里插入图片描述

    参考文献
    1.sql求两表的并集、交集、非交集、差集、结果集排序
    2.SQL 教程
    3.SQL 连接(JOIN)

    展开全文
  • 费曼积分和交集理论

    2020-04-18 04:21:33
    我们给出了一种使用所谓的交集数来计算任意最大割的基础分解的算法,并描述了两种计算方法。 此外,我们展示了如何使用相同的技术获得基本积分的微分方程的Pfaffian系统。 所有步骤都在带有大环的两环平面三角图...
  • 如果两个集合没有任何共同的元素,它们就是不相交集(disjoint set)。集合的 isdisjoint() 方法用于判断两个集合是否为不相交集
  • 已知两个降序链表序列S1与S2,设计函数构造出S1与S2的交集新链表S3。 输入格式: 输入分两行,分别在每行给出由若干个正整数构成的降序序列,用−1表示序列的结尾(−1不属于这个序列)。数字用空格间隔。 输出...
  • 求集合A、B 非交集的部分方法一:循环一个数组,利用list的contains方法方法二:多次循环匹配,利用list的contains方法方法三:利用removeAll方法方法四:利用map 方法有很多种,我能想到哪些尽量写出来,大家可以...
  • Oracle求两个结果集的交集?从表1a,表2B中选择a.id,a.name其中substr(a.name,1,1)=b.value使用union all可以实现Oracle中union和union all之间的差异。如果需要整体显示两个select语句的结果,则需要使用关键字...
  • java8 多个list对象用lambda求差集操作

    千次阅读 2020-12-18 21:41:48
    业务场景:调用同步接口获取当前全部有效账户,数据库已存在部分账户信息,因此需要筛选同步接口中已存在...jat免费资源网调用接口获取的数据集合jat免费资源网List list = response.getData().getItems();...jat免费资...
  • 第一:fdu和sdu没有交集 第二: 第三: 第四: 第五: 区分这四种情况也就是更新最后那个的左边界即可。 代码: class Solution { public int[][] intervalIntersection(int[][] firstList, int[][] secondList...
  • 安全多方计算技术是现在国家极为重视的技术,在数据要素市场的建设中也扮演了非常重要的角色。运用安全多方计算算法,...在安全多方计算的家族中,隐私交集是非常重要的一个部分,也是目前为止使用最为广泛的算法之一。
  • 两个或多个集合的交集结果包含了它们的共同元素。 Python 提供了 intersection() 方法和交集运算符(&)获取两个或多个集合的交集
  • var array1 = [ {"Num": "A " },{"Num": "B" }]; var array2 = [ {"Num": "A ","Name": "t1 " }, {"Num": "B","Name": "t2"}, {"Num": "C " ,"Name": "t3 "}]; var result = []; for(var i = 0;...
  • 伪类选择器和伪元素选择器可以为文档中非具体存在的结果指定样式,或者为某些元素(包括文档本身)的状态指定样式,它会根据某种条件而文档结构应用样式。 伪类选择器的使用方法如下: HTML标记 伪类名{伪类名:...
  • = 4.0.1, PHP 5)array_intersect -- 计算数组的交集说明array array_intersect ( array array1, array array2 [, array ...])array_intersect() 返回一个数组,该数组包含了所有在 array1 中也同时出现在所有其它...
  • 在许多情况下,需要比较多个列表,获取它们有或没有交集、差集等等,在 JavaScript 有一个数据类型可以很好的实现这些需求,那就是 Set 。Set对象就像一个数组,但是仅包含唯一项。...
  • setxor--求两个集合交集(异或)

    千次阅读 2015-12-23 17:18:12
    【实例3.38】求向量A=[1,2,3,4]与向量B=[2,4,5,8]的交集。 > >   A =[1,2,3,4]; > >   B =[2,4,5,8]; > >  [c,ai,bi]=setxor(A,B) c  =   1  3 5 8 ai  = % c(1)与c(2)在A中的索引  1 3 ...
  • 方法一(直接用文件名):取两个文本文件的并集、交集、差集并:sort -m 交:sort -m 差 file1 - file2:sort -m 方法二(用变量参数):取两个文本文件的并集、交集、差集file1=XXXXfile2=YYYY# 并:sort -m # 交:sort -m #...
  • [Java教程]java8 集合求差集、并集、交集02017-12-05 04:00:15前言java8里最大亮点是lambda,让我们用习惯C# linq的语法,也能眼前一亮。但是比起C#的语法糖还是差的很远。差集、并集、交集@Test public void test1...
  • 输入分两行,分别在每行给出由若干个正整数构成的降序序列,用−1表示序列的结尾(−1不属于这个序列)。数字用空格间隔。 输出格式: 在一行中输出两个输入序列的交集序列,数字间用空格分开,结尾不能有多余...
  • SQL取并集 差集 交集

    千次阅读 2021-05-15 14:09:21
    SQL并集(UNIOIN 去重 UNIOIN ALL不去重)交集(Intersect)差集(EXCEPT) MySQL仅支持并集,intersect用join替换,except用not in替换其他要用其他方式替代 1.UNION形成并集 UNION可以对两个或多个结果集进行...
  • 查询A\B两表中所有非交集的记录 ( SELECT * from A EXCEPT select * from B) union ( SELECT * from B EXCEPT select * from A)   转载于:...
  • shell 文件处理 并集 交集 差集(1个是另一个的子集时候才能用) 1. 取出两个文件的并集(重复的行只保留一份) cat file1 file2 | sort | uniq 2. 取出两个文件的交集(只留下同时存在于两个文件中的文件) cat ...
  • JAVA集合快速取交集方法 在实际业务开发中,遇见集合取交集、差集的数据,每个集合几十万条左右数据,利用传统方式取效率低的可怕,在网上找过很多的方法,无意中看到Guava,是谷歌出的一个工具类,经过验证,效率高...
  • java求两个集合的交集

    2021-03-06 23:02:40
    答: 测试条件 小于 2 的整数 素数 素数 测试数据 -12 67 90 期待结果 输出错误信息 素数 素数 6. 请用逻辑覆盖和基路径测试方法对下面的 java 代码进行...... 对两个关系求并集时,Map任务将两个关系的元组转换...
  • golang交集,差集

    千次阅读 2020-09-07 17:00:17
    从今天起写一些golang 函数实现PHP库函数的功能 ... ... ...func ArrayDiff(array1 []interface{}, othersParams ...[]interface{}) ([]interface{}, error) { if len(array1) == 0 { return []interface{}{}, nil

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 78,759
精华内容 31,503
关键字:

交集的非