Guest User

Untitled

a guest
Sep 28th, 2020
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. import java.util.*;
  2. import java.util.stream.Collectors;
  3.  
  4. public class Main {
  5.  
  6. public static ArrayList<Integer> findNearestNumber(ArrayList<Integer> l1, ArrayList<Integer> l2) {
  7. Collections.sort(l1);
  8. Integer number = l2.get(0);
  9. Integer index = 0;
  10. Integer index2 = 0;
  11.  
  12. Integer distance = Math.abs(l1.get(0) - number);
  13. for(Integer c = 1; c < l1.size(); c++){
  14. Integer cdistance = Math.abs(l1.get(c) - number);
  15. if (cdistance < distance) {
  16. index = c;
  17. distance = cdistance;
  18. }
  19. if (distance == cdistance) {
  20. index2 = c;
  21. }
  22. }
  23. l2.remove(0);
  24. l2.add(l1.get(index));
  25. l2.add(l1.get(index2));
  26. return l2;
  27. }
  28.  
  29. public static void main(String[] args) {
  30. Scanner sc = new Scanner(System.in);
  31.  
  32. ArrayList<Integer> list1 = readArrayList(sc);
  33. ArrayList<Integer> list2 = readArrayList(sc);
  34.  
  35. ArrayList<Integer> result = findNearestNumber(list1, list2);
  36.  
  37. result.forEach(n -> System.out.print(n + " "));
  38.  
  39. }
  40.  
  41. private static ArrayList<Integer> readArrayList(Scanner scanner) {
  42. return Arrays
  43. .stream(scanner.nextLine().split("\\s+"))
  44. .map(Integer::parseInt)
  45. .collect(Collectors.toCollection(ArrayList::new));
  46. }
  47. }
  48.  
Advertisement
Add Comment
Please, Sign In to add comment