кодесурса

Упражнения на Java: найдите самую длинную возрастающую непрерывную подпоследовательность в данном массиве целых чисел

script1adsense2code
script1adsense3code

Java Basic: упражнение 178 с решением

Напишите программу на Java, чтобы найти самую длинную непрерывную подпоследовательность в данном массиве целых чисел.

Пример решения:

Java-код:

import java.util.*;
public class Solution {
 public static void main(String[] args) {
  int[] nums = { 10, 11, 12, 13, 14, 7, 8, 9, 1, 2, 3 };
  System.out.println("Original array: " + Arrays.toString(nums));
  System.out.println("Size of longest increasing continuous subsequence: " + longest_seq(nums));
 }
 public static int longest_seq(int[] nums) {
  int max_sequ = 0;
  if (nums.length == 1) return 1;
  for (int i = 0; i < nums.length - 1; i++) {
   int ctr = 1;
   int j = i;
   if (nums[i + 1] > nums[i]) {
    while (j < nums.length - 1 && nums[j + 1] > nums[j]) {
     ctr++;
     j++;
    }
   } else if (nums[i + 1] < nums[i]) {
    while (j < nums.length - 1 && nums[j + 1] < nums[j]) {
     ctr++;
     j++;
    }
   }
   if (ctr > max_sequ) {
    max_sequ = ctr;
   }
   i += ctr - 2;
  }
  return max_sequ;
 }
}

Пример вывода:

 Исходный массив: [10, 11, 12, 13, 14, 7, 8, 9, 1, 2, 3]
Размер самой длинной увеличивающейся непрерывной подпоследовательности: 5

Блок - схема:

«Блок-схема:

Редактор кода Java:

Компания: Facebook

Внесите свой код и комментарии через Disqus.

Предыдущий: Напишите программу на Java, чтобы получить новое двоичное дерево с той же структурой и тем же значением данного двоичного дерева.
Далее: напишите Java-программу с добавлением единицы к числу заданных положительных чисел, представленных в виде массива цифр.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code