题解 | #删除字符串中出现次数最少的字符#

删除字符串中出现次数最少的字符

https://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9

找到最小值也可以实现如下:

int min = Integer.MAX_VALUE;
for(int frequency : map.values()){
  if(min > frequency){
	min = frequency;
  }
}

当然,面试的时候也有让你找第 2 小的,难为程序员的还得是程序员啊

int min = Integer.MAX_VALUE;
int min2 = Integer.MAX_VALUE;
for(int frequency : map.values()){
  if(min > frequency){
	min = frequency;
	min2 = min;
  }
}

那你,再找下第 N 小的值:

int min = Integer.MAX_VALUE;
int len = map.values().length;
int mink = Ineger.MAX_VALUE;
final k = N;
if(k > len){
  System.out.println("-1");
  return;
}
List<Integer> sorted = new ArrayList<>(k);
for(int i = 0; i < len; i++){
  if(sorted.size()==0){
	sorted.add(map.values().get(i));
  }else{
	if(sorted.size() == k && map.values().get(i) < sorted.get(k-1)){
	  sorted.removeLast()
	}
	for(int j =0; j < sorted.size();j++){
	  if(sorted.get(j)>=map.values().get(i)){
		sorted.add(j,map.values().get(i));
	  }
	}
  }
}
mink = sorted.get(k-1);
System.out.println(mink);

全部评论

相关推荐

在开会的单身狗很有一套:学院本被想着这么快有面试,而且简历废话太多了 那些在校经历什么荣誉什么的企业不关心
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务