DFS | 判断是否为子矩阵
题目来源于某次蔚来笔试~
本渣只能想到这一种方法!感觉好暴力啊!截至目前还没有想到更好的方法呜呜~但是这种方法是可以做的!
题目描述
有两个矩阵,矩阵1(m×m),矩阵2(n×n),判断矩阵2是不是矩阵1的子矩阵,若是输出Yes,若不是输出No
示例
1 | const m1 = [ |
解题思路
设两个指针
i
和j
,用于遍历m1
,找到m1[i][j] === m2[0][0]
设置指针
a
和b
,用于遍历m2
,同时i+a
和j+b
继续遍历m1
- 设置边界
i+a >= m1.length
||j+b >= m2.length
返回falsem1[i+a][j+b] !== m2[a][b]
返回false
- 满足条件
a === m2.length -1 && b === m2.length -1
, 返回true
- 设置边界
算法实现
1 | function fn(matrix1, matrix2) { |
测试一下~
1 | // eg1 |