在单个for循环中查找一个数组中缺少的元素与其他数组的比较

sis*_*iso 2 java arrays algorithm search

是否有可能在Java中使用单个for循环从一个数组中找出一个缺少的元素,而这个元素在其他数组中不存在

e.g. a1 = {2,5,1,9,3,4} , length n+1

     a2 = {2,4,1,5,3}   , length n
Run Code Online (Sandbox Code Playgroud)

缺少元素 - 9仅使用单个for循环而不是集合.可能吗??

Msh*_*nik 9

在最基本的情况下,如果我们总是谈论数字,那么只需要总结吸盘.

int sumOne = 0;
int sumTwo = 0;

for(int i = 0; i < a1.length; i++){
    sumOne += a1[i];
    if(i < a2.length)
        sumTwo += a2[i];
}

int missingNumber = sumOne - sumTwo;
Run Code Online (Sandbox Code Playgroud)

如果元素不总是数字...请求更多循环.

  • 哈哈,我喜欢它!+1 (2认同)
  • 顺便说一下,值得注意的是,这只会对一个缺失的数字起作用.如果缺少多个号码,则会失败. (2认同)