有没有大佬能看看俺的第二题呀。。。只有36%。。求赐教! public String NS_String (String s, int k) { if(k==0) return s; PriorityQueue<Character> dui=new PriorityQueue<>((x,y)->(y-x));//最大堆 dui.add(s.charAt(0)); //用最大堆保存最小的k个字符 for(int i=1;i<s.length();i++) { char top=dui.peek(); if(s.charAt(i)<top) { if(dui.contains(s.charAt(i))) continue; if(dui.size()==k) { dui.poll(); dui.add(s.charAt(i)); } else { dui.add(s.charAt(i)); } } } StringBuilder t=new StringBuilder(); for(int i=0;i<s.length();i++) { if(!dui.contains(s.charAt(i))) t.append(s.charAt(i)); } return t.toString(); }
1 2

相关推荐

牛客网
牛客企业服务