3151。特殊阵列i
难度:> easy
主题:
special如果其每对相邻元素都包含两个具有不同奇偶校验的数字。
数组,返回true,否则,返回false。
>>示例1:
>输入:
nums = [1]- >输出: true
- >说明:只有一个元素。所以答案是正确的。
-
>>示例2:
>输入: nums = [2,1,4]
- >输出: true
- >说明:只有两对:(2,1)和(1,4),并且两个对都包含具有不同奇偶校验的数字。所以答案是正确的。
-
>示例3:
>输入: nums = [4,3,1,6]
- >输出:
- false >说明:
- nums [1]和nums [2]都是奇数。所以答案是错误的。
- >约束:>
- 提示:
>
解决方案:- 我们需要通过检查给定数组是否为“特殊”,通过检查每个相邻的元素是否包含两个具有不同奇偶校验的数字(一个偶数,一个奇数)。您可以实现以下方式:
>检查数组的长度
:如果数组只有一个元素,则自动被视为特殊。>通过数组
- 迭代:对于每对相邻元素,检查它们是否具有不同的奇偶元。
- 返回结果:如果所有相邻对的奇偶校验都不同,请返回true;否则,返回false。
-
>让我们在php中实现此解决方案:
3151。特殊阵列i -
解释:
边缘案例:
如果数组只有一个元素,则自动被视为特殊数组,因为没有相邻的对检查。
-
检查相邻元素:
> - >从第二个元素开始的数组迭代。
- > 使用modulo操作员%确定相邻元素的均衡:
nums [i]%2 == 0表示数字均匀。 - >
nums [i]%2 == 1表示数字是奇数的。>
- 将当前元素数字[i]的奇偶校验与以前的元素nums [i-1]进行比较。如果他们具有相同的奇偶校验,请返回false。
-
- 返回true:
如果所有相邻对都有不同的平式,请返回true。 - >
- 此解决方案以
>o(n)
>运行,其中
是数组的长度,使其有效地效率给定约束。
联系链接
如果您发现此系列有帮助,请考虑在github上给出
>
linkedingithub









