3151. 特殊数组 I
题目描述
如果数组的每一对相邻元素都是两个奇偶性不同的数字,则该数组被认为是一个 特殊数组。换句话说,每一对中的元素 必须 有一个是偶数,另一个是奇数。
你有一个整数数组 nums。如果 nums 是一个 特殊数组 ,返回 true,否则返回 false。
示例 1:
输入:nums = [1]
输出:true
解释:
只有一个元素,所以答案为 true。
示例 2:
输入:nums = [2,1,4]
输出:true
解释:
只有两对相邻元素: (2,1) 和 (1,4),它们都包含了奇偶性不同的数字,因此答案为 true。
示例 3:
输入:nums = [4,3,1,6]
输出:false
解释:
nums[1] 和 nums[2] 都是奇数。因此答案为 false。
提示:
1 <= nums.length <= 1001 <= nums[i] <= 100
解法
方法一:一次遍历
我们从左到右遍历数组,对于每一对相邻元素,如果它们的奇偶性相同,那么数组就不是特殊数组,返回 false;否则,数组是特殊数组,返回 true。
时间复杂度 \(O(n)\),其中 \(n\) 是数组的长度。空间复杂度 \(O(1)\)。
1 2 3  |  | 
1 2 3 4 5 6 7 8 9 10  |  | 
1 2 3 4 5 6 7 8 9 10 11  |  | 
1 2 3 4 5 6 7 8  |  | 
1 2 3 4 5 6 7 8  |  |