zoukankan      html  css  js  c++  java
  • 判断一个数组是不是另一个数组的子数组

    简单来说,就是小的数组的元素是不是都是大的数组里面的

    arr1: [1,2,3]
    arr2: [3,4,5,1,3,2]
    输出true

    arr1: [1,2,3,3]
    arr2: [3,4,5,1,3,2]
    输出true

    function isSubArr(a,b) {
        let big = []
        let small = []
        let set = new Set()
        if (a.length >= b.length) {
            big = a
            small = b
        } else {
            big = b
            small = a
        }
        for (let item of big) {
            set.add(item)
        }
        for (let i = 0; i < small.length; i++) {
            if (!set.has(small[i])) {
                return false
            }
        }
        return true
    }
    
    function isSubArr(a,b) {
        let big = []
        let small = []
        if (a.length >= b.length) {
            big = a
            small = b
        } else {
            big = b
            small = a
        }
        small = small.sort((a,b) => a - b)
        big = big.sort((a,b) => a - b)
        let slen = small.length
        let blen = big.length
        let i = 0, j = 0;
        while(i < slen && j < blen) {
            if (small[i] > big[j]) {
                if (j == blen - 1) {
                    return false
                } else {
                    j++
                }
            } else if (small[i] === b[j]) {
                i++
                j++
                while(i < slen && j < blen && small[i] === small[i - 1]) {
                    i++
                }
                while(i < slen && j < blen && big[j] === big[j - 1]) {
                    j++
                }
            } else {
                return false
            }
        }
        return true
    }
    
    

    https://blog.csdn.net/zxm317122667/article/details/83999828

  • 相关阅读:
    数组静态初始化和动态初始化
    一维数组
    标识符啊
    常量定义
    11.08问题总结
    毕设(10.30)
    毕设(10.29)
    毕设(10.28)
    毕设(10.27)
    毕设(10.26)
  • 原文地址:https://www.cnblogs.com/fazero/p/13737500.html
Copyright © 2011-2022 走看看