java - 在整数数组中查找缺失的数字

标签 java arrays algorithm

<分区>

我得到了一个应该是连续的数组,如下所示:

{4,5,7,8,9,10} // missing 6

我应该有效地找到丢失的 6 个。

我想过做二分查找,查mid +1,mid -1。

但我一直认为会有很多基本案例。我一直失败...

这不应该是一个这么难的问题,但我不知道为什么我这么努力:/

有人可以指导我完成这个吗??

非常感谢你

最佳答案

始终 keep it simple伙伴 。您始终可以在 N 时间复杂度内执行此操作。

int[] arr = new int[]{4,5,7,8,9,10};
        int missing=0;
        for(int i=0;i<arr.length;i++)
        {  

            int x = arr[++i];
            int y = arr[i] +1;

          if(x != y )
          {
              missing = y;
              break;
          }
        }

        System.out.println(missing);

关于java - 在整数数组中查找缺失的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30148078/

相关文章:

javascript - 需要增加js数组中的值

algorithm - Interval 赚取的最大利润

algorithm - NP完全归约

java - 在 Spring 服务器中发送长异步请求保持 Activity 状态

java - 此示例中的 token 有何用途?

java - Java中分割数字的有效方法

c# - ArraySegment - 返回实际段 C#

arrays - Powershell从CSV文件中的所有列构建所有可能组合的数组

algorithm - 使用 DFS 进行图遍历

java - 如何平滑我的 JFrame 形状