分析核心条件
问题的核心在于条件“i⊕ai 的结果为奇数”。一个整数是奇数,当且仅当它的二进制表示的最低位为 1。
异或运算与奇偶性
我们来分析异或运算 ⊕ 对最低位的影响。两个数的异或结果的最低位,是这两个数最低位的异或结果。
给定一个正整数 n ,请你构造一个长度为 n 的排列 {a1,a2,...,an},满足:
长度为 n 的排列:由 1,2,…,n 这 n 个整数按任意顺序组成的数组(每个整数恰好出现一次)。例如, {2,3,1,5,4} 是一个长度为 5 的排列;而 {1,2,2} 和 {1,3,4} 都不是排列。