博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
9.10---堆箱子问题(CC150)
阅读量:6861 次
发布时间:2019-06-26

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

1,牛客网的解题思路:其实这就是求一个最长的递增子序列。   以某一个箱子结尾的最大高度=放在它上面的所有类型中高度最大的那个+他自己的高度。

import java.util.*; public class Box {    public int getHeight(int[] w, int[] l, int[] h, int n) {        // write code here        for (int i = 0; i < w.length; i ++) {            for (int j = 1; j < w.length - i; j ++) {                if (w[j] < w[j-1]) {                    swap(w,j,j-1);                    swap(l,j,j-1);                    swap(h,j,j-1);                }                             }        }        int[] dp = new int[n];        dp[0] = h[0];        int max = dp[0];        for (int i = 1; i < n; i ++) {            int maxHeight = 0;            dp[i] = h[i];            for (int j = i - 1; j >= 0; j --) {                if (w[j] < w[i] && l[j] < l[i]) {                    if (dp[j] > maxHeight) {                        maxHeight = dp[j];                    }                }            }            dp[i] += maxHeight;            if (dp[i] > max) {                max = dp[i];            }        }        return max;             }         public void swap (int[] array, int i, int j) {        int temp = array[i];        array[i] = array[j];        array[j] = temp;    }}
View Code

 

转载于:https://www.cnblogs.com/yueyebigdata/p/5099596.html

你可能感兴趣的文章
linux cpu、内存、硬盘空间查询
查看>>
idea 启动调试模式总提示端口58346被占用问题
查看>>
Pro JPA2读书笔记系列(八)-第八章(查询语言)
查看>>
oracle目录操作
查看>>
主流ETL工具
查看>>
fileinput 图片上传
查看>>
UUID
查看>>
Selenium2+Python--下拉选择用select
查看>>
easyui 跳转页面语句
查看>>
golang 中unicode包用法
查看>>
20165226第二次实验
查看>>
2018.8.3记
查看>>
python 循环列表的同时做删除操作
查看>>
转载学习:Objective-C常用的函数,
查看>>
shell脚本 expect 实现自动登陆
查看>>
SEH结构化异常处理
查看>>
OGG_GoldenGate数据迁移三进程Extract / Dump / Relicat(案例)
查看>>
OAF_文件系列11_实现OAF读写Excel包JXL和POI的区别(概念)
查看>>
未整理:MediaPlayer(1,2)
查看>>
c# 串口发送接收数据
查看>>