【问题标题】:How to use XOR in Kotlin如何在 Kotlin 中使用 XOR
【发布时间】:2018-02-07 19:55:53
【问题描述】:

我想执行 XOR 来查找两个布尔值 a 和 b 中的一个是否为真,但不是两者都为真。在 Kotlin 中搜索 XOR 给了我这个答案

infix fun xor(other: Boolean): Boolean

在此布尔值和另一个布尔值之间执行逻辑异或运算。 source

我仍然对如何实现这一点感到困惑

【问题讨论】:

  • 你这样使用它:a xor b
  • 我发现 Kotlin 不使用 ^ 运算符很有趣。好问题。

标签: kotlin


【解决方案1】:

这是一个可以在任何Boolean 上调用的扩展。你可以这样使用它:

true.xor(false)

或者这个:

true xor false

最后一个有效,因为函数定义为infix

Boolean 上定义的其他类似扩展是andornot

//very useful example
true.not().or(true).and(false).xor(true)

【讨论】:

    【解决方案2】:

    在数组中找到每个元素都有重复项的唯一数字。

    var a = 0
    for (i in numsArray){
        a = a xor i
    }
    return a
    

    例如。输入 = [2,2,1] 出 = 1

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-24
      • 2020-06-02
      • 2019-05-19
      • 2020-09-24
      • 2021-10-01
      • 2021-04-20
      相关资源
      最近更新 更多