找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 524|回复: 2
打印 上一主题 下一主题

list问题请教,如何通过最少的比较来实现X = A-(A∩B)?

[复制链接]

57

主题

181

帖子

2349

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2349
跳转到指定楼层
1#
发表于 2012-8-21 09:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

您需要 登录 才可以下载或查看,没有帐号?注册

x
如题:
A = '(1 2 3 4 5)
B = '(1 2 3 4 6)

要现实:A-(A∩B) =>( 5 )
              B-(A∩B) =>( 6 )
我目前的代码:

foreach( itema A
      foreach(itemb B
            When( itema == itemb
                     A = remove(itema A)
                     B = remove(itemb B)
                    )
             )
        )
这样可以实现,但是比较的次数太多了,当A和B成员很多的时候,skill运行的速度那是超级的慢,请教下有没有更好的算法或者相关函数来实现,让skill运行快点,谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏1 支持!支持! 反对!反对!

117

主题

2352

帖子

1万

积分

EDA365特邀版主

Rank: 6Rank: 6

积分
13799

最佳敬业奖

2#
发表于 2012-8-21 09:40 | 只看该作者
  1. A1 = setof(p A !member( p B ))
  2. B1 = setof(p B !member( p A ))
复制代码
谁画出这天地 又画下我和你

57

主题

181

帖子

2349

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2349
3#
 楼主| 发表于 2012-8-21 16:26 | 只看该作者
这代码简洁实用,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2025-1-11 00:18 , Processed in 0.058630 second(s), 34 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表