当前位置: 首页 > 知识库问答 >
问题:

数的异或=X

陆仲渊
2023-03-14

样本输入:n=3,x=2

示例输出:1 1 2

说明:我们必须打印3个具有最小和的自然数,因此n间隔的数是[1,1,2]

有人知道如何使数组和最小吗?

共有1个答案

仲孙焱
2023-03-14

为了得到最小的总和,您需要确保当您的目标是X时,您不会取消X的位并重新创建它们。因为这样会增加总和。为此,您已经从数组的末尾一个接一个地创建了X的位(理想情况下)。因此,在n=4和x=6的示例中,我们有:(我使用^来表示xor)

x=7=110(二进制)=2+4。请注意,2^4=6,因为这些数字不共享任何公共位。所以,输出是1 1 2 4。

因此,我们从创建输出数组末尾X的最高有效位开始。然后,我们还必须处理不同N值的转角情况。我将用一些不同的例子来说明这一点:

``
 A) X=14, N=5:
    X=1110=8+4+2. So, the array is 1 1 2 4 8.
 B) X=14, N=6:
    X=8+4+2. The array should be 1 1 1 1 2 12.
 C) X=15, N=6:
    X=8+4+2+1. The array should be 1 1 1 2 4 8.
 D) X=15, N=5:
    The array should be 1 1 1 2 12.
 E) X=14, N=2:
   The array should be 2 12. Because 12 = 4^8
``
 类似资料:
  • 问题内容: 我是Apache Spark的新手,正在尝试使用机器学习库来预测一些数据。我的数据集现在只有约350点。以下是其中的7点: 这是我的代码: 这种预言完全是疯狂的,就像。如果我没有在中设置迭代,那么我得到的结果。我究竟做错了什么?是我的数据集(可能是它的大小?)还是我的配置? 问题答案: 问题在于,使用随机梯度下降(SGD)来优化线性模型的权重向量。SGD对于提供的用于更新中间解决方案的

  • 在前面的一个问题中,我希望用动态数量的事例执行。解决方案是使用和。我正在寻找一个类似的解决方案,以变异/总结与动态数量的列。 考虑以下数据集。

  • 本文向大家介绍C的|、||、&、&&、异或、~、!运算符,包括了C的|、||、&、&&、异或、~、!运算符的使用技巧和注意事项,需要的朋友参考一下 位运算     位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果。 位运算符有:     &(按位与)、|(按位或)、^(按位异或)、~ (按位取反)。     其中,按位取反

  • 本文向大家介绍c异或运算 c异或运算符号,包括了c异或运算 c异或运算符号的使用技巧和注意事项,需要的朋友参考一下 与运算:& 两者都为1为1,否则为0 1&1=1,  1&0=0,  0&1=0,  0&0=0 或运算:| 两者都为0为0,否则为1 1|1 = 1,  1|0 = 1,  0|1 = 1, 0|0 = 0 非运算:~ 1取0,0取1 ~1 = 0, ~0 = 1 ~(10001)

  • 杰克和丹尼尔是朋友。他们想加密他们的谈话,这样他们就可以避免被侦探机构拦截。所以他们发明了一种新的密码。每个消息都被编码为其长度为n的二进制表示形式B,然后被记录K次,移动0,1,...,K-1位。如果b=1001010,k=4,它看起来像: 然后在每一列计算XOR并写下来。这个数字称为s。例如,对上面示例中的数字进行异或运算,结果是 然后将编码的消息S和K发送给Daniel。 null null

  • 我陷入了一个问题,即寻找一个xor为0的子数组。我在某个地方读到,这可以使用TRIE数据结构来完成,但我想要数组的开始和结束索引。 例如,考虑一个数组 我尝试了这里提到的解决方案,但这没有给出索引。 我正在寻找一个O(nLogn)或可能O(n)复杂度的算法。