package com.github.hcsp.sql;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;/** * Created by chengww on 2019/10/10. */public class Main { public static void main(String[] args) { // 构造从start到end的序列: final int start = 10; final int end = 20; List<Integer> list = new ArrayList<>(); for (int i = start; i <= end; i++) { list.add(i); } // 洗牌算法 shuffle 可以随机交换List中的元素位置: Collections.shuffle(list); // 随机删除List中的一个元素: int removed = list.remove((int) (Math.random() * list.size())); int found = findMissingNumber(start, end, list); System.out.println(list.toString()); System.out.println("missing number: " + found); System.out.println(removed == found ? "测试成功" : "测试失败"); } static int findMissingNumber(int start, int end, List<Integer> list) { list.sort(Comparator.comparingInt(e -> e)); return list.stream().filter(element -> start + list.indexOf(element) != element) .findFirst().map(integer -> integer - 1).orElse(0); }}
Sign in to make a reply
chengww5217