Facebook
From Aqua Penguin, 9 Years ago, written in Java.
Embed
Download Paste or View Raw
Hits: 555
  1. public class tablice {
  2.  
  3.  /**
  4.   * @param args
  5.   */
  6.  public static void main(String[] args) {
  7.  
  8.   int[] a1 = {1,1,2,2,2,3,4,5,6,6,7,8};
  9.   int[] b1 = {2,2,2,3};
  10.  
  11.   boolean czyZawieraSie_1 = czyTablicaBzawieraSieWcalosciWtablicyA(a1,b1);
  12.  
  13.   System.out.println(czyZawieraSie_1);
  14.  
  15.  
  16.   int[] a2 = {1,1,2,2,2,3,4,5,6,6,7,8};
  17.   int[] b2 = {2,2,3,4};
  18.  
  19.   boolean czyZawieraSie_2 = czyTablicaBzawieraSieWcalosciWtablicyA(a2,b2);
  20.  
  21.   System.out.println(czyZawieraSie_2);
  22.  
  23.  
  24.   int[] a3 = {1,1,2,2,2,3,4,5,6,6,7,8};
  25.   int[] b3 = {7,8,9,10};
  26.  
  27.   boolean czyZawieraSie_3 = czyTablicaBzawieraSieWcalosciWtablicyA(a3,b3);
  28.  
  29.   System.out.println(czyZawieraSie_3);
  30.  
  31.   int[] a4 = {1,1,2,2,2,3,4,5,6,6,7,8};
  32.   int[] b4 = {1,1,2,2,2,3,4,5,6,6,7,8};
  33.  
  34.   boolean czyZawieraSie_4 = czyTablicaBzawieraSieWcalosciWtablicyA(a4,b4);
  35.  
  36.   System.out.println(czyZawieraSie_4);  
  37.  }
  38.  
  39.  
  40.  private static boolean czyTablicaBzawieraSieWcalosciWtablicyA(int[] a, int[] b) {
  41.  
  42.   long czas_poczatkowy = System.nanoTime();
  43.  
  44.   int i = 0;
  45.   int j = 0;
  46.   int n = a.length;
  47.      int m = b.length;
  48.  
  49.   while(j <= m - 1) {
  50.    //System.out.println("1 j: " + j + " m: " + m);
  51.    while(i <= n - 1) {
  52.     if(a[i] == b[j]) {
  53.      i++;
  54.      j++;    
  55.     }
  56.     else {
  57.      if(j>0) {
  58.       long czas_biezacy = System.nanoTime();
  59.       System.out.println(konwertujCzas(czas_biezacy - czas_poczatkowy));
  60.       return false;
  61.      }
  62.      else {
  63.       i++;
  64.      }          
  65.     }
  66.     if(j > m - 1) {
  67.      long czas_biezacy = System.nanoTime();
  68.      System.out.println(konwertujCzas(czas_biezacy - czas_poczatkowy));
  69.      return true;
  70.     }
  71.     if(i > n - 1) {
  72.      long czas_biezacy = System.nanoTime();
  73.      System.out.println(konwertujCzas(czas_biezacy - czas_poczatkowy));
  74.      return false;
  75.     }
  76.    }
  77.   }
  78.   long czas_biezacy = System.nanoTime();
  79.   System.out.println(konwertujCzas(czas_biezacy - czas_poczatkowy));
  80.   return false;
  81.  }
  82.  
  83.  private static String konwertujCzas(long time) {
  84.      final double seconds = ((double)time / 1000000000);
  85.      final String secondsAsString =
  86.        new DecimalFormat("#.##########").format(seconds).toString();
  87.   return secondsAsString;
  88.  }  
  89. }