Блог пользователя sntmessages

Автор sntmessages, 10 лет назад, По-английски

Hi, I have just managed to find sorted subsequence of length 3 in an unsorted array.
I want to know how to do it to find subsequence of length k.

length of an array can be upto 100000.

Actual Question is : Given an unsorted array of n integers, find the 3 elements such that a[x] < a[y] < a[z] and x < y < z. I have done it in O(n) space and time complexity.
But I want to do it for k elements.

  • Проголосовать: нравится
  • -6
  • Проголосовать: не нравится

»
10 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Do you already have a sequence that you should find or you just need k consecutive elements to be in increasing subsequence?

»
10 лет назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится

its name is longest increasing subsequence and can be O(n log n) space and time complexity

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится -8 Проголосовать: не нравится

    Hi KayacanV,
    But this will not return the elements. It will return the length only.
    Correct me if i am wrong.

    • »
      »
      »
      10 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Define trace[i] as the next element of the longest increasing subsequence from i->n that ends at i. Use this array to trace the elements