Advertisement
ogv

Untitled

ogv
Aug 6th, 2020
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. import java.io.*;
  2. import java.util.*;
  3.  
  4. class Solution {
  5. public static int kthSmallest(int[] a, int[] b, int k) {
  6. return a[0];
  7. }
  8.  
  9. public static void main(String[] args) {
  10. Random random = new Random();
  11.  
  12. int szA = 4;
  13. int szB = 5;
  14.  
  15. int[] a = new int[szA];
  16. a[0] = random.nextInt(10);
  17. for (int i = 1; i < a.length; i++)
  18. a[i] = a[i-1] + (random.nextInt(1) == 0 ? random.nextInt(10): 0 );
  19.  
  20. int[] b = new int[szB];
  21. b[0] = random.nextInt(10);
  22. for (int i = 1; i < b.length; i++)
  23. b[i] = b[i-1] + (random.nextInt(1) == 0 ? random.nextInt(10): 0 );
  24.  
  25. boolean allGood = true;
  26.  
  27. for (int t = 1; t <= 12; t++) {
  28. for (int k = 1; k <= a.length + b.length; k++) {
  29. int actual = kthSmallest(a,b,k);
  30.  
  31. ArrayList<Integer> merged = new ArrayList<>();
  32. for (int x: a) merged.add(x);
  33. for (int x: b) merged.add(x);
  34. Collections.sort(merged);
  35.  
  36. int expected = merged.get(k-1);
  37.  
  38. if (actual != expected) {
  39. System.out.print("FAILED k=" + k + " a=" + Arrays.toString(a) + " b=" + Arrays.toString(b)
  40. + " expected=" + expected + " actual=" + actual + " merged=[");
  41. for (int x: merged) System.out.print(x + ", ");
  42. System.out.println("]");
  43.  
  44. allGood = false;
  45. }
  46. }
  47. }
  48.  
  49. System.out.println(allGood ? "ALL OK": "FAILED");
  50. }
  51. }
  52.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement