svetlozar_kirkov

Pyramid

Feb 7th, 2015
314
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.98 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Arrays;
  3. import java.util.Collections;
  4. import java.util.List;
  5. import java.util.Scanner;
  6.  
  7. public class Pyramid {
  8.  
  9.     public static void main(String[] args) {
  10.         Scanner input = new Scanner(System.in);
  11.         int n = Integer.parseInt(input.nextLine());
  12.         ArrayList<Integer> sequence = new ArrayList<>();
  13.         int previous = 0;
  14.         for (int i = 0; i < n; i++){
  15.             String[] row = clean(input.nextLine().split("[\\s]+"));
  16.             if (i == 0){
  17.                 sequence.add(Integer.parseInt(row[0]));
  18.                 previous = Integer.parseInt(row[0]);
  19.             }
  20.             else {
  21.                 ArrayList<Integer> rowNums = new ArrayList<>();
  22.                 for (int j = 0; j < row.length; j++){
  23.                     rowNums.add(Integer.parseInt(row[j]));
  24.                 }
  25.                 int currentNearest = Integer.MAX_VALUE;
  26.                 boolean found = false;
  27.                 for (int k = 0; k < rowNums.size(); k++){
  28.                     if (rowNums.get(k) > previous && rowNums.get(k) <= currentNearest){
  29.                         currentNearest = rowNums.get(k);
  30.                         found=true;
  31.                     }
  32.                 }
  33.                 if (found){
  34.                     sequence.add(currentNearest);
  35.                     previous = currentNearest;
  36.                 }
  37.                 else{
  38.                     previous++;
  39.                 }
  40.             }
  41.         }
  42.         for (int i = 0; i < sequence.size(); i++){
  43.             if (i == sequence.size()-1){
  44.                 System.out.print(sequence.get(i) + "\n");
  45.             }
  46.             else {
  47.                 System.out.print(sequence.get(i) + ", ");
  48.             }
  49.         }
  50.     }
  51.    
  52.     public static String[] clean(final String[] v) {
  53.         List<String> list = new ArrayList<String>(Arrays.asList(v));
  54.         list.removeAll(Collections.singleton(""));
  55.         return list.toArray(new String[list.size()]);
  56.     }
  57. }
Advertisement
Add Comment
Please, Sign In to add comment