返回题解分享
讨论 / 题解分享/ 帖子详情

map的查询 - 题解

import java.util.*;
import java.io.*;

public class Main{
    public static void main(String[] args)throws IOException{
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(in.readLine());
        int n = Integer.parseInt(st.nextToken());
        int m = Integer.parseInt(st.nextToken());
        TreeMap<String,String> map = new TreeMap<>();

        for(int i=0;i<n;i++){
            StringTokenizer st2 = new StringTokenizer(in.readLine());
            String name = st2.nextToken();
            String number = st2.nextToken();
            map.put(name,number);
        }

        for(int i=0;i<m;i++){
            StringTokenizer st2 = new StringTokenizer(in.readLine());
            int j = Integer.parseInt(st2.nextToken());
            String name = st2.nextToken();
            if(j==1){
                System.out.println(map.getOrDefault(name,"NO"));
            }
            else if(j==2){
                String lower = map.lowerKey(name);
                if(lower == null)   System.out.println("NO");
                else System.out.println(map.getOrDefault(lower,"NO"));
                
            }
            else if(j==3){
                String higher = map.higherKey(name);
                if(higher == null)   System.out.println("NO");
                else System.out.println(map.getOrDefault(higher,"NO"));
            }

        }
    }
}
0 回复 0 转发 0 喜欢 3 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!