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

CodeSignal避障跳跃题:代码通过公开用例但隐藏测试失败求排查

问题排查:寻找避开障碍物的最小跳跃长度

题目说明

给定表示直线上障碍物坐标的整数数组,从坐标0向右跳跃,每次只能跳固定整数长度,找出能避开所有障碍物的最小跳跃长度。

  • 示例:输入inputArray = [5, 3, 6, 7, 9],输出应为4。

我的Java代码

int solution(int[] a) {
    Arrays.sort(a);
    int ans = 0;
    for (int jump = 2; jump <= 1000; jump++) {
        int now = 0;
        boolean flag = true;
        while(now<=a[a.length-1]){
            int next = now + jump;
            if(Arrays.binarySearch(a, next)<0){
                now = next;
            } else{
                flag = false;
                break;
            }
        }
        if(flag) {
            ans = jump;
            break;
        }    
    }
    return ans;
}

解题思路

  • 对数组排序,获取最大障碍物坐标;
  • 从跳跃长度jump=2开始递增尝试,直到找到能避开所有障碍物的最小长度。

遇到的问题

通过了所有给定测试用例,但提交时在某个隐藏测试中失败,找不到反例和代码错误,请求帮助排查。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 02:10:19