特殊阵列i(阵列...)

wufei1232025-02-15PHP12

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]都是奇数。所以答案是错误的。
  • >约束:>
1 > 1
  • 提示:
>尝试检查每个元素及其先前元素的奇偶校验。

>

解决方案:
  1. 我们需要通过检查给定数组是否为“特殊”,通过检查每个相邻的元素是否包含两个具有不同奇偶校验的数字(一个偶数,一个奇数)。您可以实现以下方式:

>检查数组的长度

:如果数组只有一个元素,则自动被视为特殊。

>通过数组
    迭代:对于每对相邻元素,检查它们是否具有不同的奇偶元。
  1. 返回结果:如果所有相邻对的奇偶校验都不同,请返回true;否则,返回false。
  2. >让我们在php中实现此解决方案: 3151。特殊阵列i
  3. <?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 "
    ";
    ?>
    
    解释:

边缘案例:

如果数组只有一个元素,则自动被视为特殊数组,因为没有相邻的对检查。
  1. 检查相邻元素:>

      >从第二个元素开始的数组迭代。
    • >
    • 使用modulo操作员%确定相邻元素的均衡:
  2. nums [i]%2 == 0表示数字均匀。
  3. >

    nums [i]%2 == 1表示数字是奇数的。>

      将当前元素数字[i]的奇偶校验与以前的元素nums [i-1]进行比较。如果他们具有相同的奇偶校验,请返回false。
      • 返回true:
    • 如果所有相邻对都有不同的平式,请返回true。
    • >
  4. 此解决方案以

    >o(n)

    >运行,其中
    n

是数组的长度,使其有效地效率给定约束。 联系链接 如果您发现此系列有帮助,请考虑在github上给出 reposority cository >在您喜欢的社交网络上分享帖子。您的支持对我来说意义重大!>

如果您想要这样的更多有用的内容,请随时关注我:

>

linkedin

github

以上就是特殊阵列i的详细内容,更多请关注知识资源分享宝库其它相关文章!

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。