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
选项。