博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js-FCC算法-Symmetric Difference
阅读量:4488 次
发布时间:2019-06-08

本文共 874 字,大约阅读时间需要 2 分钟。

创建一个函数,接受两个或多个数组,返回所给数组的 对等差分(symmetric difference) ( or )数组.

给出两个集合 (如集合 A = {1, 2, 3} 和集合 B = {2, 3, 4}), 而数学术语 "对等差分" 的集合就是指由所有只在两个集合其中之一的元素组成的集合(A △ B = C = {1, 4}). 对于传入的额外集合 (如 D = {2, 3}), 你应该安装前面原则求前两个集合的结果与新集合的对等差分集合 (C △ D = {1, 4} △ {2, 3} = {1, 2, 3, 4}).

FCC高级算法里比较简单的一个了,我的方法:

1 function sym(args) { 2   //作用是保证每个数组里的数都是不重复的,重复的只保留一个 3   function norepeat(arr){ 4     return arr.filter(function(val,index,array){ 5       return array.indexOf(val)===index; 6     }); 7   } 8   //concat后如果有重复的数,把重复的数全部去掉 9   function add(arr1,arr2){10     var arr=norepeat(arr1).concat(norepeat(arr2));11     return arr.filter(function(val,index,array){12       return array.indexOf(val)===array.lastIndexOf(val);13     });14   }15   //构建参数数组16   var arr=[];17   for(var i=0;i

去除重复的数使用了filter、indexOf和lastIndexOf方法,欢迎批评指正。

转载于:https://www.cnblogs.com/zczhangcui/p/6096780.html

你可能感兴趣的文章
Linux Supervisor的安装与使用入门
查看>>
为什么要应用编排,应用编排能做什么?
查看>>
实习生招聘笔试
查看>>
Linux忘记root登录密码解决方法
查看>>
String类的常用方法
查看>>
week 13 java——网络
查看>>
python curl实现
查看>>
C/C++ http协议加载sessionID
查看>>
个人应用开发详记. (二)
查看>>
一款由css3和jquery实现的卡面折叠式菜单
查看>>
uva 10791
查看>>
openlayers 4快速渲染管网模型数据
查看>>
MySQL相关小技巧
查看>>
SSH整合- 2- add service layout
查看>>
IP地址与UInt之间不得不说的故事
查看>>
【代码笔记】iOS-两个滚动条,上下都能滑动
查看>>
矩阵乘法-洛谷P2233 [HNOI2002] 公交车路线
查看>>
openstack云主机硬盘复制查询
查看>>
写个神经网络,让她认得我`(๑•ᴗ•๑)(Tensorflow,opencv,dlib,cnn,人脸识别)
查看>>
《程序是怎样跑起来的》第三章
查看>>