特殊阵列i(阵列...)
3151。特殊阵列i
难度:> easy
主题: array
special如果其每对相邻元素都包含两个具有不同奇偶校验的数字。>您有一个整数数字。如果nums为a
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
-
<?php /** * @param Integer[] $nums * @return Boolean */ function isArraySpecial($nums) { ... ... ... /** * go to ./solution.php */ } // Test cases $nums1 = [1]; $nums2 = [2, 1, 4]; $nums3 = [4, 3, 1, 6]; echo isArraySpecial($nums1) ? 'true' : 'false'; // Output: true echo " "; echo isArraySpecial($nums2) ? 'true' : 'false'; // Output: true echo " "; echo isArraySpecial($nums3) ? 'true' : 'false'; // Output: false echo " "; ?>
解释:
边缘案例:
-
检查相邻元素:>
- >从第二个元素开始的数组迭代。
- > 使用modulo操作员%确定相邻元素的均衡:
nums [i]%2 == 0表示数字均匀。 - >
nums [i]%2 == 1表示数字是奇数的。>
- 将当前元素数字[i]的奇偶校验与以前的元素nums [i-1]进行比较。如果他们具有相同的奇偶校验,请返回false。
-
- 返回true:
如果所有相邻对都有不同的平式,请返回true。 - >
- 此解决方案以
>o(n)
>运行,其中
是数组的长度,使其有效地效率给定约束。 联系链接 如果您发现此系列有帮助,请考虑在github上给出 reposority cository >在您喜欢的社交网络上分享帖子。您的支持对我来说意义重大!>
如果您想要这样的更多有用的内容,请随时关注我:>
linkedingithub
以上就是特殊阵列i的详细内容,更多请关注知识资源分享宝库其它相关文章!