Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package test;
- public class Main {
- static void print(int[] a, int index) {
- for (int i = 0; i < a.length - 1; i++)
- System.out.print(a[i] + ", ");
- System.out.println(a[a.length - 1]);
- for (int i = 0; i < a.length; i++) {
- int k = 1, t = a[i];
- if (t>=0) {} else {t=-t; k++;}
- while ((t = t / 10) > 0)
- k++;
- StringBuilder sb = new StringBuilder("");
- while (k-- > 0)
- sb.append(" ");
- String s = sb.toString();
- System.out.print(i == index ? "^" + s + " " : s + " ");
- }
- System.out.println();
- }
- static int delta(int x1, int x2) {
- return Math.abs(x1 - x2);
- }
- static void find(int[] a1, int[] a2) {
- int[] min = new int[3];
- min[0] = delta(a1[0], a2[a2.length - 1]) > delta(a1[a1.length - 1], a2[0]) ? delta(a1[0], a2[a2.length - 1])
- : delta(a1[a1.length - 1], a2[0]);
- for (int i = 0; i < a1.length; i++)
- for (int j = 0; j < a2.length; j++)
- if (delta(a1[i], a2[j]) <= min[0]) {
- min[0] = delta(a1[i], a2[j]);
- min[1] = i;
- min[2] = j;
- }
- print(a1,min[1]);
- print(a2,min[2]);
- System.out.println("n");
- System.out.println("Result delta = "+min[0]);
- }
- public static void main(String[] args) {
- int[] a1 = { 1, 4, 8, 12, 18, 328, 99482}, a2 = {35, -27, 325, 9482};
- find(a1, a2);
- }
- }
- out:
- 1, 4, 8, 12, 18, 328, 99482
- ^
- 35, -27, 325, 9482
- ^
- Result delta = 3
Add Comment
Please, Sign In to add comment