P1628 合并序列(字符串,小根堆,排序,洛谷,java)

洛谷链接:https://www.luogu.com.cn/problem/P1628
这道题用小根堆会比排序内存少一点,时间一样

在这里插入图片描述
在这里插入图片描述

小根堆

import java.util.PriorityQueue;
import java.util.Scanner;
public class Main {
	
	static PriorityQueue<String> q=new PriorityQueue<String>();
	
	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
        int n=in.nextInt();
        
        for(int i=0;i<n;i++) {
        	String a=in.next();
        	q.offer(a);
        }
        String str=in.next();
        
        for(int i=0;i<n;i++) {
        	String s=q.peek();
        	if(s.startsWith(str)) {
        		System.out.println(q.poll());
        	}else {
        		q.poll();
        	}
        }
	} 
}

sort排序

import java.util.Arrays;
import java.util.PriorityQueue;
import java.util.Scanner;
public class Main {
	
	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
        int n=in.nextInt();
        String[] s=new String[n];
        
        for(int i=0;i<n;i++) {
        	s[i]=in.next();
        }
        String str=in.next();
        Arrays.sort(s);
        
        for(int i=0;i<n;i++) {
        	if(s[i].startsWith(str)) {
        		System.out.println(s[i]);
        	}
        }
	} 
}
发布了96 篇原创文章 · 获赞 56 · 访问量 2223

猜你喜欢

转载自blog.csdn.net/weixin_44685629/article/details/104480327