medon3

Print Maximum Increasing Subsequence

Oct 4th, 2022
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class Problem9 {
  4. public static void main(String[] args) {
  5.  
  6. Scanner sc = new Scanner(System.in);
  7.  
  8. String input = sc.nextLine();
  9. String[] numbersAsString = input.split(" ");
  10. int[] arr = new int[numbersAsString.length];
  11. int increaseCount = 0;
  12. int maxCount = 0;
  13. StringBuilder increasingSequence = new StringBuilder();
  14. StringBuilder maxSequence = new StringBuilder();
  15.  
  16. for (int i = 0; i < arr.length; i++) {
  17. arr[i] = Integer.parseInt(numbersAsString[i]);
  18. }
  19.  
  20. boolean isIncreasing = false;
  21.  
  22. for (int i = 1; i < arr.length; i++) {
  23. int index = i-1;
  24. if(arr[i]> arr[index]){
  25. increaseCount++;
  26. isIncreasing = true;
  27. if(increaseCount==1){
  28. increasingSequence.append(arr[index] + " " + arr[i]);
  29. }else if(increaseCount>1){
  30. increasingSequence.append(" " + arr[i]);
  31. }
  32. }else{
  33. increaseCount = 0;
  34. increasingSequence.delete(0, increasingSequence.length());
  35. }
  36.  
  37. if(maxCount<=increaseCount){
  38. maxCount = increaseCount;
  39. maxSequence.delete(0, maxSequence.length());
  40. maxSequence.append(increasingSequence);
  41. }
  42.  
  43. }
  44. if(isIncreasing){
  45. System.out.println(maxSequence);
  46. }
  47.  
  48. }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment