如果我有一个L
正整数列表并且给了我另一个数字K
,我需要在列表中找到 XORK
最大的数字。
我已经想到了一个算法。我想用反论点来验证它的正确性。我的算法是:
- 查找
P
=K 的补码(1 的补码)。现在在列表 L 中找到最接近 P 的数字。让这个数字为 N。K 和 N 的 XOR 将是最大的。 I
与给定数字集中的数字最接近的数字是与 I 的差最小的数字。
可以说,对于大于P
list的数字是不正确的L
。但是数字不正确<=P
吗?
请通过提供反驳论点/建议/想法告诉我我是否正确。