3151. Special Array I
Description
An array is considered special if every pair of its adjacent elements contains two numbers with different parity.
You are given an array of integers nums
. Return true
if nums
is a special array, otherwise, return false
.
Example 1:
Input: nums = [1]
Output: true
Explanation:
There is only one element. So the answer is true
.
Example 2:
Input: nums = [2,1,4]
Output: true
Explanation:
There is only two pairs: (2,1)
and (1,4)
, and both of them contain numbers with different parity. So the answer is true
.
Example 3:
Input: nums = [4,3,1,6]
Output: false
Explanation:
nums[1]
and nums[2]
are both odd. So the answer is false
.
Constraints:
1 <= nums.length <= 100
1 <= nums[i] <= 100
Solutions
Solution 1: Single Pass
We traverse the array from left to right. For each pair of adjacent elements, if their parity is the same, then the array is not a special array, return false
; otherwise, the array is a special array, return true
.
The time complexity is $O(n)$, where $n$ is the length of the array. The space complexity is $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 |
|