Java輸出數組中最長遞增子序列的代碼

下面內容是關於Java輸出數組中最長遞增子序列的內容,但願對大夥有較大用途。 

package com.wzs;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Test
{
    public static void main(String[] args)
    {
        int a[] =
        {
                1, -1, 2, -3, 4, -5, 6, -7
        };
        find1(a);
    }

    public static void find1(int[] a)
    {
        int length = a.length;
        for (int i = 0; i < length; i++)
        {
            list[i] = 1;
            for (int j = 0; j < i; j++)
            {
                if (a[j] < a[i] && list[j] + 1 > list[i])
                {
                    list[i] = list[j] + 1;
                    if (result.isEmpty())
                    {
                        result.add(list[j]);
                    }
                    if (!result.contains(list[i]))
                    {
                        result.add(list[i]);
                    }
                }
            }
        }
        System.out.println("第i個元素時最長遞增序列:" + Arrays.toString(list));
        int max = list[0];
        for (int i = 0; i < length; i++)
        {
            if (list[i] > max)
            {
                max = list[i];
            }
        }
        System.out.println("最長遞增序列長度:" + max);
        System.out.println("最長遞增序列:" + result);
    }
}

                                
                        
                                
輸出結果:
                                
                        
                                

第i個元素時最長遞增序列:[1, 1, 2, 1, 3, 1, 4, 1]
最長遞增序列長度:4
最長遞增序列:[1, 2, 3, 4]        複製代碼
                                                                                                                                    
相關文章
相關標籤/搜索