作者:-晴天2602926075 | 来源:互联网 | 2023-09-23 17:54
1. 题意
每个人进出这个实验室,每行给出编号,进入时间,出去的时间
求最早进去的,和最晚出来的
2. 思路
用Java做很方便,可以直接用字符串比较compareTo()
来比较时间的早晚
3. 代码
package adv1006;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class Main {static class Node {String mId;String mOpen;String mClose;public Node(String mId, String mOpen, String mClose) {this.mId &#61; mId;this.mOpen &#61; mOpen;this.mClose &#61; mClose;}}public static void main(String[] args) throws IOException {BufferedReader br &#61; new BufferedReader(new InputStreamReader(System.in));int M &#61; Integer.parseInt(br.readLine());ArrayList<Node> list &#61; new ArrayList<Node>();for (int i &#61; 0; i < M; i&#43;&#43;) {String[] mCase &#61; br.readLine().split(" ");Node mCaseNode &#61; new Node(mCase[0], mCase[1], mCase[2]);list.add(mCaseNode);}int mOpenIndex &#61; 0;int mCloseIndex &#61; 0;String mOpenTime &#61; list.get(0).mOpen;String mCloseTime &#61; list.get(0).mClose;for (int i &#61; 1; i < M; i&#43;&#43;) {if (mOpenTime.compareTo(list.get(i).mOpen) > 0) {mOpenTime &#61; list.get(i).mOpen;mOpenIndex &#61; i;}if (mCloseTime.compareTo(list.get(i).mClose) < 0) {mCloseTime &#61; list.get(i).mClose;mCloseIndex &#61; i;}}System.out.println(list.get(mOpenIndex).mId &#43; " " &#43; list.get(mCloseIndex).mId);}
}