Java 该火车站所需的最低站台数量
给定特定火车站所有列车的到达和出发时间,编写代码以查找该火车站所需的最小站台数,以便所有列车都能按照其时间表运行。Java 该火车站所需的最低站台数量,java,Java,给定特定火车站所有列车的到达和出发时间,编写代码以查找该火车站所需的最小站台数,以便所有列车都能按照其时间表运行。package com.extra; package com.extra; import java.util.ArrayList; import java.util.Collections; public class MinimumPlatformRequired { public static void main(String[] args) { Min
package com.extra;
package com.extra;
import java.util.ArrayList;
import java.util.Collections;
public class MinimumPlatformRequired {
public static void main(String[] args) {
MinimumPlatformRequired m=new MinimumPlatformRequired();
Double arr[] = {9.0, 9.40, 9.50, 11.00, 15.00, 18.00};
Double dep[] = {9.10, 12.00, 11.20, 11.30, 19.00, 20.00};
System.out.println("maximum Platform Required:"+m.getMinimumNumberOfPlatform(arr,dep));
}
int getMinimumNumberOfPlatform(Double []arrival,Double []dearture){
ArrayList<Event> eventList=getEventList(arrival, dearture);
int maxPlatformNo=1;
int busyPlatform=0;
for(Event eve:eventList){
System.out.println(eve.getEventType()+"\t"+eve.getEventTime());
if(eve.getEventType().equals("A")){
busyPlatform++;
}else if(eve.getEventType().equals("D")){
busyPlatform--;
}
if(busyPlatform>maxPlatformNo){
maxPlatformNo++;
}
}
return maxPlatformNo;
}
ArrayList<Event> getEventList(Double []arrival,Double []dearture){
ArrayList<Event> eventList=new ArrayList<Event>();
for(int i=0;i<arrival.length;i++){
Event ArrivalEve=new Event();
ArrivalEve.setEventTime(arrival[i]);
ArrivalEve.setEventType("A");
Event Deartueeve=new Event();
Deartueeve.setEventTime(dearture[i]);
Deartueeve.setEventType("D");
eventList.add(ArrivalEve);
eventList.add(Deartueeve);
}
Collections.sort(eventList, (Event e1,Event e2)->{return (e1.getEventTime()-e2.getEventTime()>0?1:-1);});
return eventList;
}
class Event{
private Double eventTime;
private String eventType;
public Double getEventTime() {
return eventTime;
}
public void setEventTime(Double eventTime) {
this.eventTime = eventTime;
}
public String getEventType() {
return eventType;
}
public void setEventType(String eventType) {
this.eventType = eventType;
}
}
}
导入java.util.ArrayList;
导入java.util.Collections;
公共类MinimumPlatformRequired{
公共静态void main(字符串[]args){
MinimumPlatformRequired m=新的MinimumPlatformRequired();
双arr[]={9.0,9.40,9.50,11.00,15.00,18.00};
双dep[]={9.10,12.00,11.20,11.30,19.00,20.00};
System.out.println(“所需最大平台:+m.getMinimumNumberOfPlatform(arr,dep));
}
int getMinimumNumberOfPlatform(双[]到达,双[]取消){
ArrayList eventList=getEventList(到达、终止);
int maxPlatformNo=1;
int busyPlatform=0;
对于(事件前夜:事件列表){
System.out.println(eve.getEventType()+“\t”+eve.getEventTime());
if(eve.getEventType().equals(“A”)){
busyPlatform++;
}else if(eve.getEventType().equals(“D”)){
总线平台--;
}
if(busyPlatform>maxPlatformNo){
maxPlatformNo++;
}
}
返回maxPlatformNo;
}
ArrayList getEventList(双[]到达,双[]取消){
ArrayList eventList=新建ArrayList();
for(int i=0;i{return(e1.getEventTime()-e2.getEventTime()>0?1:-1);});
返回事件列表;
}
班级活动{
私人双倍活动时间;
私有字符串事件类型;
公共双getEventTime(){
返回事件时间;
}
public void setEventTime(双事件时间){
this.eventTime=eventTime;
}
公共字符串getEventType(){
返回事件类型;
}
public void setEventType(字符串eventType){
this.eventType=eventType;
}
}
}
我投票将此问题作为离题题题结束,因为:。您问题的当前状态不符合这些要求。使用选项来改进它。也请阅读这是您对发布的问题的回答,您希望与其他人分享,以便他们将来可以使用它,或者这是您的尝试代码,但它存在一些问题。如果是第二种情况,那么您应该删除此“答案”,并将此代码直接放在您的问题中。还请描述您遇到的问题。要更新/澄清您的问题,请使用其下方的edit
选项。要删除此答案,请使用答案下方的delete
选项。