Diff Two Arrays-freecodecamp算法题目

Diff Two Arrays(比较两个数组)



1.要求

  • 比较两个数组,然后返回一个新数组
  • 该数组的元素为两个给定数组中所有独有的数组元素。换言之,返回两个数组的差异。

2.思路

  • 定义一个新数组变量,将输入的两个数组用.concat()连接到一起赋值给它
  • 定义一个check函数,返回两个给定数组中所有独有的数组元素
  • 用.filter()筛选出新数组变量的符合条件的元素

3.代码

function diff(arr1, arr2) {
var newArr = [];
newArr = arr1.concat(arr2);
function check(item){
    if(arr1.indexOf(item) === -1 ||arr2.indexOf(item) === -1){
    return item;
    }
}
return newArr.filter(check);
}
diff([1, 2, 3, 5], [1, 2, 3, 4, 5]);

4.相关链接

5.博客说明:以后的博客均采用mardown语法编写

原文地址:https://www.cnblogs.com/ahswch/p/9297849.html

时间: 2024-10-22 19:14:40

Diff Two Arrays-freecodecamp算法题目的相关文章

一个关于字符串匹配的算法题目

有这样一个算法题目 假设这有一个各种字母组成的字符串,假设这还有另外一个字符串,而且这个字符串里的字母数相对少一些.从算法是讲, 什么方法能最快的查出所有短字符串里的字母在长字符串里都有? 比如,如果是下面两个字符串: String 1: ABCDEFGHLMNOPQRS String 2: DCGSRQPOM 答案是true,所有在string2里的字母string1也都有.如果是下面两个字符串: String 1: ABCDEFGHLMNOPQRS String 2: DCGSRQPOZ 答

【算法题目】2048游戏的最少时间 最大数

1.搜狐技术中心笔试遇到的题目 描述:假设滑动一次需要1秒,新出现是4的概率很小可以忽略,加到2048的需要的时间最少是多少? 分析:全部由2相加,得到4需要1次相加,得到8需要3次相加--得到2048需要1024-1次相加 (1024-1)/60约为17分钟 实际上,在进行加法前可能需要等待 新元素2的出现,那么估算的最少时间必然大于17分钟 具体枚举: 目标 需要时间 ? 1 2 3 4 5 6 2      0 4      3 8      5 16    10 32    20   

一道算法题目, 二行代码, Binary Tree

June 8, 2015 我最喜欢的一道算法题目, 二行代码. 编程序需要很强的逻辑思维, 多问几个为什么, 可不可以简化.想一想, 二行代码, 五分钟就可以搞定; 2015年网上大家热议的 Homebrew 的作者 Max Howell 面试 Google 挂掉的一题, 二叉树反转, 七行代码, 相比二行代码, 情有可原! Problem: return the count of binary tree with only one child 想一想, 你要写几行, 六七行, 或小于十行? S

C#常见算法题目

    //冒泡排序    public class bubblesorter    {        public void sort(int[] list)        {            int i, j, temp;            bool done = false;            j = 1;            while ((j < list.Length) && (!done))            {                don

算法题目: 动态规划 之 最短编辑距离

问题: 对于长度相同的2个字符串A和B,其距离定义为相应位置字符距离之和.2个非空格字符的距离是它们的ASCII码之差的绝对值:空格与空格的距离为0,空格与其他字符的距离为一个定值k.在一般情况下,字符串A和B的长度不一定相同.字符串A的扩展是在A中插入若干空格字符所产生的字符串.在字符串A和B的所有长度相同的扩展中,有一对距离最短的扩展,该距离称为字符串A和B的扩展距离.对于给定的字符串A和B,设计一个算法,计算其扩展距离. 测试数据: 输入:cmc      snmn        2   

算法题目积累0721

1,两个字符串的最长公共子串 基本思想是扫描两次矩阵,第一次进行字符比较:第二次找出对角线为1的最长长度 package com.bobo.interview; import com.bobo.util.MetrixPrint; /** * 这个类实现的功能室查找两个字符串的最长公共子串(要求连续) * 扫描两次矩阵,第一次的时候是两个字符串的比较,相等的位置赋值1,不等的位置赋值0 * 第二次扫描,找出对角线为1的最大长度 * 需要注意的是:分支不止一个的情况 * @author weibo.

iOS面试中常见的算法题目

一.前言 这里是在iOS求职中自己遇到的算法题,希望对大家有所帮助.不定期更新.如果大家想在线运行代码调试,可以将代码拷贝到这里.然后进行调试.下面就是常见的算法题目. 二.正文 1.就n的阶乘. 思路:这里面用递归实现 #include <stdio.h> int getNJ(int n) { if (n==1 || n==0) { return 1; } return n*getNJ(n-1); } int main() { printf("%d",getNJ(10))

几个有意思的算法题目

这两天奔波于参加了两场校招面试,其中有很多非常有意思的算法题目,有一部分甚至都没有找到最优的答案,比较开放的算法设计题目. 其实面试不只是算法题的交流,当中还穿插着各式各样的非技术问题,毫无防备,都不知道如何展示自己了. 看似数学推理的程序设计题: 一个盒子中有100个白球,100个黑球,每次从盒子中不放回的取出两个球,如果取得的两个球是颜色相同,放入一个白球,如果取得的两个球颜色不同,放入一个黑球?最后盒子中剩下一个黑球的概率为多少? 拓展:一个盒子中有m个白球,n个黑球,按照上面的方案,最后

PTA数据结构与算法题目集(中文) 7-14

PTA数据结构与算法题目集(中文)  7-14 7-14 电话聊天狂人 (25 分) 给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人. 输入格式: 输入首先给出正整数N(≤),为通话记录条数.随后N行,每行给出一条通话记录.简单起见,这里只列出拨出方和接收方的11位数字构成的手机号码,其中以空格分隔. 输出格式: 在一行中给出聊天狂人的手机号码及其通话次数,其间以空格分隔.如果这样的人不唯一,则输出狂人中最小的号码及其通话次数,并且附加给出并列狂人的人数. 输入样例: 4 130057