type
status
date
slug
summary
tags
category
icon
password
创建时间
Feb 22, 2025 01:45 AM
给你两个下标从 0 开始的 二元 字符串
s
和 target
,两个字符串的长度均为 n
。你可以对 s
执行下述操作 任意 次:- 选择两个 不同 的下标
i
和j
,其中0 <= i, j < n
。
- 同时,将
s[i]
替换为 (s[i]
ORs[j]
) ,s[j]
替换为 (s[i]
XORs[j]
) 。
例如,如果
s = "0110"
,你可以选择 i = 0
和 j = 2
,然后同时将 s[0]
替换为 (s[0]
OR s[2]
= 0
OR 1
= 1
),并将 s[2]
替换为 (s[0]
XOR s[2]
= 0
XOR 1
= 1
),最终得到 s = "1110"
。如果可以使
s
等于 target
,返回 true
,否则,返回 false
。位运算——脑筋急转弯
从上面的规律,我们发现 00 的组合对最后的结果没有影响,而且我们在有 1 的情况下,得到 00。
因此,有以下失败情况:
- s全为0,但target有1
- s有1,但target全为0
也就是两者都含有 1,或者两者都没有 1.
📎 参考
- 无