mvCode

Najdolga opagjacka sekvenca AIPS

Feb 18th, 2020
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.10 KB | None | 0 0
  1. import java.util.Arrays;
  2. import java.util.Collection;
  3. import java.util.Collections;
  4. import java.util.Scanner;
  5.  
  6.  
  7. public class LDS {
  8.  
  9.  
  10.     private static int najdolgaOpagackaSekvenca(int[] a) {
  11.  
  12.         int []prethodnici = new int[a.length];
  13.  
  14.         for ( int i=0; i<a.length; i++ )
  15.             prethodnici[i] = 0;
  16.  
  17.  
  18.         for ( int i=0; i<a.length; i++ ){
  19.             for ( int j = 0; j<i; j++ ){
  20.  
  21.                 if ( prethodnici[i] <= prethodnici[j]&&a[i]<a[j] )
  22.                      prethodnici[i] = prethodnici[j] + 1;
  23.             }
  24.         }
  25.  
  26.         int largest = 0;
  27.         for ( int i=0; i<a.length; i++ ) {
  28.             if (prethodnici[i] > prethodnici[largest])
  29.                 largest = i;
  30.         }
  31.  
  32.         return prethodnici[largest] + 1;
  33.  
  34.     }
  35.  
  36.  
  37.  
  38.     public static void main(String[] args) {
  39.         Scanner stdin = new Scanner(System.in);
  40.  
  41.         int n = stdin.nextInt();
  42.         int a[] = new int[n];
  43.         for (int i = 0; i < a.length; i++) {
  44.             a[i] = stdin.nextInt();
  45.         }
  46.         System.out.println(najdolgaOpagackaSekvenca(a));
  47.     }
  48.  
  49.  
  50. }
Add Comment
Please, Sign In to add comment