1442. 形成两个异或相等数组的三元组数目

Posted lgz0921

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1442. 形成两个异或相等数组的三元组数目相关的知识,希望对你有一定的参考价值。

题目链接:https://leetcode-cn.com/problems/count-triplets-that-can-form-two-arrays-of-equal-xor/

思路:这个题跟https://leetcode-cn.com/problems/xor-queries-of-a-subarray/这个题的思想是一样的,这里不解释了,可以看这篇博客https://blog.csdn.net/lgz0921/article/details/116720173,先做一下,当你会做的时候,再把这个题当作练手即可。

上代码:

class Solution {
    fun countTriplets(arr: IntArray): Int {
        var result = 0
        for (i in 1 until arr.size){
            arr[i] = arr[i] xor  arr[i-1]
        }
        for (i in arr.indices){
            for (j in i+1 until arr.size){
                for (k in j until arr.size){
                    when(i){
                        0 ->{
                            if (arr[j-1] == arr[k] xor arr[j-1]){
                                result++
                            }
                        }
                        else ->{
                            if(arr[j-1] xor arr[i-1] == arr[k] xor arr[j-1]){
                                result++
                            }
                        }
                    }
                }
            }
        }
        return result
    }
}

 

以上是关于1442. 形成两个异或相等数组的三元组数目的主要内容,如果未能解决你的问题,请参考以下文章

追寻最优美的代码 leetcode 1442. 形成两个异或相等数组的三元组数目

leetcode算法题 pro1442 形成两个异或相等数组的三元组数目

LeetCode 1442. 形成两个异或相等数组的三元组数目 Java

LeetCode 1442. 形成两个异或相等数组的三元组数目 Java

LeetCode 1442. 形成两个异或相等数组的三元组数目 Java

算法leetcode1442. 形成两个异或相等数组的三元组数目(rust真是好用)