3151.特殊数组 I

【LetMeFly】3151.特殊数组 I

力扣题目链接:https://leetcode.cn/problems/special-array-i/

如果数组的每一对相邻元素都是两个奇偶性不同的数字,则该数组被认为是一个 特殊数组

Aging 有一个整数数组 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 <= 100
  • 1 <= nums[i] <= 100

解题方法:模拟

从第二下标开始遍历数组,如果当前元素和上一个元素奇偶性不同,则直接返回false

最终遍历结束则返回true

如何判定两个数奇偶性是否相同?只需要看两个数对2取模的结果是否相等。

  • 时间复杂度$O(len(nums))$
  • 空间复杂度$O(1)$

AC代码

C++

1
2
3
4
5
6
7
8
9
10
11
class Solution {
public:
bool isArraySpecial(vector<int>& nums) {
for (int i = 1; i < nums.size(); i++) {
if (nums[i] % 2 == nums[i - 1] % 2) {
return false;
}
}
return true;
}
};

同步发文于CSDN和我的个人博客,原创不易,转载经作者同意后请附上原文链接哦~

Tisfy:https://letmefly.blog.csdn.net/article/details/141176978


3151.特殊数组 I
https://blog.letmefly.xyz/2024/08/14/LeetCode 3151.特殊数组I/
作者
Tisfy
发布于
2024年8月14日
许可协议