当前位置:   article > 正文

最长单调递增子序列问题

最长单调递增子序列问题

题目二:最长单调递增子序列问题

设计一个O(n2)复杂度的算法,找出由n个数组成的序列的最长单调递增子序列。

算法设计:

数组int[] nums 存储原始数据,int[] sub_len 表示从i到n的最长递增序列的长度,初始为1;int[] sub_index 表示第i个数据后面一个数据的下标,初始为0;三个数组列下标为0的元素初始为0不存储有效数据;

  1. package suanfa_test3;
  2. import java.util.Scanner;
  3. public class Lengthest_list {
  4. public static void main(String[] args) {
  5. System.out.print("数组的长度 n= ");
  6. Scanner scanner = new Scanner(System.in);
  7. while (scanner.hasNext()) {
  8. int n = scanner.nextInt();
  9. int[] nums = new int[n + 1]; // 数列数据
  10. int[] sub_len = new int[n + 1];// sub_len[i]表示从i到n的最长递增序列的长度
  11. int[] sub_index = new int[n + 1];// 表示第i个数据后面一个数据的下标
  12. for (int i = 1; i <= n; i++) {
  13. nums[i] = scanner.nextInt();
  14. sub_len[i] = 1;
  15. sub_index[i] = 0;
  16. }
  17. for (int i = n - 1; i >= 1; i--) {
  18. int max &#
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/521437
推荐阅读
相关标签
  

闽ICP备14008679号