博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
叠罗汉I
阅读量:4968 次
发布时间:2019-06-12

本文共 772 字,大约阅读时间需要 2 分钟。

叠罗汉是一个著名的游戏,游戏中一个人要站在另一个人的肩膀上。同时我们应该让下面的人比上面的人更高一点。已知参加游戏的每个人的身高,请编写代码计算通过选择参与游戏的人,我们多能叠多少个人。注意这里的人都是先后到的,意味着参加游戏的人的先后顺序与原序列中的顺序应该一致。

给定一个int数组men,代表依次来的每个人的身高。同时给定总人数n,请返回最多能叠的人数。保证n小于等于500。

测试样例:

[1,6,2,5,3,4],6

返回:4

解题

最长上升子序列

dp[i] 表示 包括i的最长上升子序列长度

import java.util.*;public class Stack {    public int getHeight(int[] A, int n) {        // write code here        int[] dp = new int[n];        dp[0] = 1;        int height = -1;        for(int i=1;i< n;i++){            int h = 0; // 应该初始化为 0             for(int j = 0;j= A[j]){                    h = Math.max(h,dp[j]);                }                dp[i] = h + 1;                height = Math.max(dp[i],height);            }        }        return height;    }}

转载于:https://www.cnblogs.com/theskulls/p/5816137.html

你可能感兴趣的文章
android本地数据库,微信数据库WCDB for Android 使用实例
查看>>
如何快速三个月成为一个领域的高手的四个方法
查看>>
[51nod]1347 旋转字符串
查看>>
SpringBoot2.0 + SpringCloud Eureka搭建高可用注册中心(Eureka之三)
查看>>
tomcat文件夹与文件解析
查看>>
2015 多校赛 第四场 1010 (hdu 5336)
查看>>
Day02 过滤和排序数据
查看>>
1043: [HAOI2008]下落的圆盘 - BZOJ
查看>>
CSS打造固定表头
查看>>
java.lang.StringBuilder
查看>>
Net core 关于缓存的实现
查看>>
mysql的表和数据类型
查看>>
Java线程池关闭1-shutdown和isTerminated<转>
查看>>
web安全学习第一周
查看>>
nginx的学习材料
查看>>
Java中利用BigInteger类进行大数开方
查看>>
IIS错误:在唯一密钥属性“fileExtension”设置为“.mp4”时,无法添加类型为“mimeMap”的重复集合项...
查看>>
Eclipse快捷键
查看>>
关于jar冲突的解决方向servlet-api
查看>>
洛谷P3369 【模板】普通平衡树(FHQ Treap)
查看>>