java - 现有1~100共一百个自然数,已随机放入一个有98个元素的数组a[98]。
PHPz
PHPz 2017-04-18 09:06:33
[Java讨论组]

要用JAVA实现
要求写出一个尽量简单的方案,找出没有被放入数组的那2个数,并在屏幕上打印这2个数。注意:程序不用实现自然数随机放入数组的过程。

PHPz
PHPz

学习是最好的投资!

全部回复(2)
ringa_lee

有人给出了一个时间复杂度O(n^2)的算法,我给一个O(n)的算法把:

public void printNum(int[] arr) {
    int[] result = new int[2];
    int[] heap = new int[101];
    for (int i = 0; i < 98; i++) {
        heap[arr[i]] = 1;
    }
    for (int i = 1; i <= 100; i++) {
        if (heap[i] != 1) {
            System.out.println(i);
        }
    }
}
阿神
public int[] findNum(int[] arr) {
    int[] result = new int[2];
    var count = 0;
    for (int i = 1; i <= 100; i++) {
      if (count == 2) break;
      if (arr.indexOf(i) == -1) {
        result.push(i);
        count++;
      }
    }
    return result;
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号