Java寻找一串自然数中缺失的数字

public class MissingNumberUtil {

/**
 * 寻找一串自然数中缺失的数字
 * 
 * @param src 数组
 * @param maxElement 数组中最大元素
 * @return
 */
public static String getMissingNumber(int[] src, int maxElement) {
    StringBuffer result = new StringBuffer();
    int[] toolArray = new int[maxElement + 1];
    toolArray[0] = 1;
    for (int i = 0; i < src.length; i++) {
        int num = src[i];
        toolArray[num] = 1;
    }
    for (int i = 0; i < toolArray.length; i++) {
        int num = toolArray[i];
        if (num != 1) {
            result.append(i + ",");
        }
    }
    if (result.length() > 0) {
        result.deleteCharAt(result.length() - 1);
    }
    return result.toString();
}

public static void main(String[] args) {
    int[] arr = new int[] {1,10,7,4};
    //System.out.println(Arrays.stream(arr).max().getAsInt());
    //System.out.println(Arrays.stream(arr).min().getAsInt());
    System.out.println(getMissingNumber(arr, Arrays.stream(arr).max().getAsInt()));
}

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容