0分求助,不知哪里错了
查看原帖
0分求助,不知哪里错了
1114140
yuniko_n楼主2024/4/5 13:04
//优先队列+字符串
import java.util.*;
public class Main{
	static int k,m;
	static Queue<Integer>q=new PriorityQueue<>();
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		k=sc.nextInt();
		m=sc.nextInt();
		q.add(1);
		String s = "";
		for(int i=1;i<=k;i++) {
			int x=q.peek();//每次弹出最小的那个数
			s+=x+"";//数字转换为字符
			q.poll();//用完就弹出
			q.add(2*x+1);
			q.add(4*x+5);
		}
		System.out.println(s);
		char []c=s.toCharArray();
		int flag=0;
		while(true) {
			for(int i=0;i<s.length()-1;i++) {//防止c[i+1]越界,要i<s.length()-1
				if(c[i]-'0'<c[i+1]-'0') {
					flag++;
					s=s.substring(0, i)+s.substring(i+1);
					//System.out.println(s);
					if(flag==m) {
						System.out.println(s);
						return;
					}
					break;
				}
			}
		}
	}
}
2024/4/5 13:04
加载中...