@ninijia 在 Leetcode每日一题练习 ------ 2657. 找到两个数组的前缀公共数组 中发帖
从Leetcode 每日一题练习继续讨论:
2657. 找到两个数组的前缀公共数组
2657. Find the Prefix Common Array of Two Arrays
题解
本题考虑A和B都仅包含1~n的不重复数字,并且n的长度最大不超过50,要想快速了解A和B的前缀数组中包含哪些共同的数字,我们就需要将这些不重复数字想办法保存起来,每个数字的位置互不冲突,还能方便的了解到哪些数字是二者都有的,如果使用数组的话,满足位置互不冲突但不能快速的得出哪些数字是二者共有的,数组只能靠遍历来判断,此时可以考虑位运算,因为对于每个数字我们仅需要知道它在前缀数组中是否出现,统计共同数字的个数时也不需要知道共同的数字具体都是哪些,仅需要个数,则用0表示未出现,用1表示出现。这样做的好处在于在寻找共同数字的个数时可以通过对两个二进制数直接取按位与,相同位置的1会自动保留,即表示同时在A和...