You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CodingBat Array-1模块unlucky1问题Java实现遇数组越界求助

问题分析与修复

数组越界的直接原因

你的代码循环从i=0开始,第一次循环时访问nums[i-1]等价于访问nums[-1],数组索引从0起始,负数索引直接触发数组越界异常。

逻辑偏差问题

题目要求仅检查数组的前2个位置或后2个位置中是否存在"1紧跟3"的情况,而你的代码遍历了整个数组,不符合题目限定的检查范围。

修正后的代码

public boolean unlucky1(int[] nums) {
    // 数组长度不足2时,不可能存在1紧跟3的情况
    if (nums.length < 2) {
        return false;
    }
    // 检查前两个位置(索引0和1)
    if (nums[0] == 1 && nums[1] == 3) {
        return true;
    }
    // 检查最后两个位置(索引length-2和length-1)
    if (nums[nums.length - 2] == 1 && nums[nums.length - 1] == 3) {
        return true;
    }
    return false;
}

补充说明

  • 先判断数组长度是否小于2,避免后续访问索引时出现越界问题
  • 直接针对题目要求的两个区域做检查,无需遍历整个数组,逻辑更清晰高效

内容的提问来源于stack exchange,提问作者Jacob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 23:45:43