#yyds干货盘点# 解决名企真题:马戏团

网友投稿 692 2022-11-01

#yyds干货盘点# 解决名企真题:马戏团

#yyds干货盘点# 解决名企真题:马戏团

1.简述:

描述

搜狐员工小王最近利用假期在外地旅游,在某个小镇碰到一个马戏团表演,精彩的表演结束后发现团长正和大伙在帐篷前激烈讨论,小王打听了下了解到, 马戏团正打算出一个新节目“最高罗汉塔”,即马戏团员叠罗汉表演。考虑到安全因素,要求叠罗汉过程中,站在某个人肩上的人应该既比自己矮又比自己瘦,或相等。 团长想要本次节目中的罗汉塔叠的最高,由于人数众多,正在头疼如何安排人员的问题。小王觉得这个问题很简单,于是统计了参与最高罗汉塔表演的所有团员的身高体重,并且很快找到叠最高罗汉塔的人员序列。 现在你手上也拿到了这样一份身高体重表,请找出可以叠出的最高罗汉塔的高度,这份表中马戏团员依次编号为1到N。

输入描述:

首先一个正整数N,表示人员个数。 之后N行,每行三个数,分别对应马戏团员编号,体重和身高。

输出描述:

正整数m,表示罗汉塔的高度。

示例1

输入:

61 65 1002 75 803 80 1004 60 955 82 1016 81 70

输出:

4

2.代码实现:

import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public class Main { public static void main(String[] args) throws IOException { SH1(); } static class Persion{ public int id; public int weight; public int height; } public static void SH1() throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String ln; while ((ln = br.readLine()) != null){ List personList = new ArrayList<>(); int n = Integer.parseInt(ln); int[] p = new int[n]; for (int i = 0; i < n; i++) { String[] str = br.readLine().split(" "); int id = Integer.parseInt(str[0]); int weight = Integer.parseInt(str[1]); int heigth = Integer.parseInt(str[2]); Persion persion = new Persion(); persion.id = id; persion.weight = weight; persion.height = heigth; personList.add(persion); } personList.sort((a,b)->{ if (a.weight - b.weight == 0){ return b.height - a.height; } return a.weight - b.weight; }); int size = personList.size(); for (int i = 1; i < size; i++) { for (int j = i - 1 ; j >= 0; j--) { if (personList.get(j).height <= personList.get(i).height){ if (p[i] < p[j] + 1){ p[i] = p[j] + 1; } } } } int max = 0; for (int i = 0; i < n; i++) { if (p[i] > max) { max = p[i]; } } System.out.println(max+1); }}}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:EasyRouter 简单、稳定、强大、高性能的组件化路由框架
下一篇:springboot 整合sentinel的示例代码
相关文章

 发表评论

暂时没有评论,来抢沙发吧~