import java.util.*;public class Main{
public static void main(String args[]){
Scanner cin = new Scanner(System.in);
Snode [] character = new Snode [26];
int [] sign = new int [26];
for(int i = 0; i < 26; i ++)
{
character[i].c = (char) ('a' + i);
character[i].count = 0;
sign[i] = 0;
}
String str = cin.next();
int k = cin.nextInt();
char [] ch = str.toCharArray();
int m = 0;
for(int i = 0; i < ch.length; i ++)
{
character[ch[i] - 'a'].count ++;
}
for(int i = 0; i < 26; i ++)
if(character[i].count != 0)
m ++;
Arrays.sort(character, new nodeComparator());
for(int i = 0; i < 26; i ++)
{
if(k >= character[i].count && character[i].count != 0)
{
k -= character[i].count;
sign[character[i].c - 'a'] = -1;
m --;
}
}
if(m == 0) System.out.println("0\n");
else
{
System.out.println(m);
for(int i = 0; i < ch.length; i ++)
if(sign[ch[i] - 'a'] != -1)
System.out.print(ch[i]);
System.out.println();
}
cin.close();
}
}class Snode{
public char c;
public int count;
Snode()
{
this.c = 'a';
this.count = 0;
}
}class nodeComparator implements Comparator<Snode>{ public int compare(Snode o1, Snode o2) {
int differ = o2.count - o1.count;
if(differ == 0)
return 0;
if(differ < 0)
return -1;
else
return 1;
}
}
运行后出现问题:Exception in thread "main" java.lang.NullPointerException
at Main.main(Main.java:12)
public static void main(String args[]){
Scanner cin = new Scanner(System.in);
Snode [] character = new Snode [26];
int [] sign = new int [26];
for(int i = 0; i < 26; i ++)
{
character[i].c = (char) ('a' + i);
character[i].count = 0;
sign[i] = 0;
}
String str = cin.next();
int k = cin.nextInt();
char [] ch = str.toCharArray();
int m = 0;
for(int i = 0; i < ch.length; i ++)
{
character[ch[i] - 'a'].count ++;
}
for(int i = 0; i < 26; i ++)
if(character[i].count != 0)
m ++;
Arrays.sort(character, new nodeComparator());
for(int i = 0; i < 26; i ++)
{
if(k >= character[i].count && character[i].count != 0)
{
k -= character[i].count;
sign[character[i].c - 'a'] = -1;
m --;
}
}
if(m == 0) System.out.println("0\n");
else
{
System.out.println(m);
for(int i = 0; i < ch.length; i ++)
if(sign[ch[i] - 'a'] != -1)
System.out.print(ch[i]);
System.out.println();
}
cin.close();
}
}class Snode{
public char c;
public int count;
Snode()
{
this.c = 'a';
this.count = 0;
}
}class nodeComparator implements Comparator<Snode>{ public int compare(Snode o1, Snode o2) {
int differ = o2.count - o1.count;
if(differ == 0)
return 0;
if(differ < 0)
return -1;
else
return 1;
}
}
运行后出现问题:Exception in thread "main" java.lang.NullPointerException
at Main.main(Main.java:12)
character[i] = new Snode();
character[i].c = (char) ('a' + i);
for (int i = 0; i < 26; i++) {
character[i] = new Snode(); character[i].c = (char) ('a' + i);
character[i].count = 0;
sign[i] = 0;
}