首页 > 其他分享 >最长递增子序列

最长递增子序列

时间:2025-01-14 10:04:22浏览次数:3  
标签:arr int max 递增 序列 最长

题目

最长递增子序列
输入 4 2 3 1 5
输出3 (因为 2 3 5 组成了最长递增子序列)

分析

要求4 2 3 1 5的最长递增子序列,先求4 2 3 1 的递增子序列,结果是2 3 。然后比较5是否比3大,如果是的话,4 2 3 1 5的最长递增子序列就是2 3 5

题解

package com.company.test5;

import com.company.util.ArrayUtil;

public class Test6 {
    public static void main(String[] args) {

//        int[] arr={4,2,3,1,5};
        int[] arr = ArrayUtil.randomArray(1, 5, 5);

        int[] max=new int[arr.length];

//        遍历max[0,1,2]
//        如果arr[3]比arr[0,1,2]大则max[3]=max(arr[0]+1,arr[1]+1,arr[2]+1)
        max[0]=1;
        for (int j = 1; j < arr.length ; j++) {
            int x=1;
            for (int i = 0; i <= j-1 ; i++) {
                if(arr[j]>arr[i]){
                    x=Math.max(x,max[i]+1);
                }

            }
            max[j]=x;
        }
        int y=max[0];
        for (int i = 1; i < max.length; i++) {
            y=max[i]>y?max[i]:y;
        }
        System.out.println(y);
        return;

    }

}

标签:arr,int,max,递增,序列,最长
From: https://blog.csdn.net/zhourongxiang1/article/details/145131069

相关文章

  • 8.10 序列化(第二版)
    8.10序列化(第二版).NET框架提供了三种主要的序列化技术,如下:数据协定(DataContract)序列化;XML序列化;运行时序列化(二进制和SOAP)​​​DO​:在设计新的类型时考虑到序列化。如果类型实例需要持久化,或需要传输,则设计时要考虑如何序列化。1选择要支持的序列化技术......
  • 代码随想录:从中序与后序遍历序列构造二叉树
    /**Definitionforabinarytreenode.structTreeNode{intval;TreeNode*left;TreeNode*right;TreeNode():val(0),left(nullptr),right(nullptr){}TreeNode(intx):val(x),left(nullptr),right(nullptr){}TreeNode(intx,TreeNo......
  • go序列化库--msgpack
    简介msgpack是一个基于二进制高效的对象序列化类库,可用于跨语言通信。它可以像JSON那样,在许多种语言之间交换结构对象。但是它比JSON更快速也更轻巧。支持Python、Ruby、Java、C/C++、Go等众多语言。宣称比GoogleProtocolBuffers还要快4倍。官方的说法它像JSON,但更......
  • 时间序列预测模型和 随机森林预测模型原理和使用
    让我们一起走向未来......
  • 方法引用与lambda底层原理&Java方法引用、lambda能被序列化么?
    0.引入最近笔者使用flink实现一些实时数据清洗(从kafka清洗数据写入到clickhouse)的功能,在编写flink作业后进行上传,发现运行的时候抛出:java.io.NotSerializableException,错误消息可能类似于“org.apache.flink.streaming.api.functions.MapFunctionimplementationisnotser......
  • 算法随笔2:无重复字符的最长子串
    题目是这样的:给定一个字符串s,请找出其中不含有重复字符的最长子串的长度。例如:s="abcabcbb",答案:3。因为不含有重复字符的最长子串为"abc"。我们可以这么考虑这个问题。最终的答案的起始字母必然是字符串s里的其中一个字母。这句话听起来像是一句废话。但有时往往一道算......
  • LeetCode 2275: 按位与结果大于零的最长组合题解
    LeetCode2275:按位与结果大于零的最长组合题解1.题目分析这道题目考察了位运算的基本概念和应用。我们需要在给定的数组中找出最长的子序列,使得这些数字进行按位与运算后的结果大于0。1.1关键概念按位与运算(&)两个二进制位都为1时,结果为1。只要有一个为0,结果就为0......
  • 方法引用与lambda底层原理&Java方法引用、lambda能被序列化么?
    系列文章目录和关于我0.引入最近笔者使用flink实现一些实时数据清洗(从kafka清洗数据写入到clickhouse)的功能,在编写flink作业后进行上传,发现运行的时候抛出:java.io.NotSerializableException,错误消息可能类似于“org.apache.flink.streaming.api.functions.MapFunctionimplemen......
  • 20章7节:绘制时间序列地平线图和时间序列流图
    在医药研究和数据科学领域,可视化技术是揭示数据趋势、探索异常变化以及辅助决策的重要工具。时间序列数据的可视化尤其关键,它贯穿了药物研发、临床试验、公共卫生监测等多个领域。传统的时间序列图在展示小范围数据时表现良好,但面对数据范围较大、异常值显著的情况时往往捉襟......
  • 20章12节:多元统计分析的可视化扩展包,从主成分分析到时间序列,从K-means聚类到广义线性
    多元统计分析中的数据可视化是科学研究与分析中不可或缺的一部分,它不仅能够帮助研究者直观地理解数据结构,还能为复杂的统计模型提供清晰的解释。然而,传统的R语言制图方法往往需要较高的学习成本,尤其是对于需要从多种统计包中提取结果并进行可视化的任务。基于此背景,作为一个构......