LeetCode--3393. 统计异或值为给定值的路径数目
最后更新于
最后更新于
给你一个大小为
m x n
的二维整数数组grid
和一个整数k
。你的任务是统计满足以下 条件 且从左上格子
(0, 0)
出发到达右下格子(m - 1, n - 1)
的路径数目:
每一步你可以向右或者向下走,也就是如果格子存在的话,可以从格子
(i, j)
走到格子(i, j + 1)
或者格子(i + 1, j)
。路径上经过的所有数字
XOR
异或值必须 等于k
。请你返回满足上述条件的路径总数。
由于答案可能很大,请你将答案对
10^9 + 7
取余 后返回。
网格 dp ,很明显二维的数组不能满足我们的要求,很多人第一眼都是直接暴搜,但是这道题暴搜会超时,我们只能采取 dp 的做法,首先开辟三维数组,第三个索引表示我们当前的异或值,由于我们的异或值题目中给出了一定限制,我们可以直接开辟 16 个空间,每次的当前异或值可以直接枚举前缀然后与当前元素异或运算来得到: