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

实现一个方法,删除字符串中出现最少的字符,输入'aabcc',输入出'aacc',实现如下:

先用map来把字符串里出现过的字符和这个字符出现过的个数存起来,{a:2,b:1,c:2},然后用Math.min求map里value的最小值。最后遍历字符串,把个数不为min的字符拼到新字符串里

function removeMin(str){
  let arr=[...str]
  let map=new Map()
  res = ''
  for(let i=0;i<arr.length;i++){
    if(map.has(arr[i])){
      let count=map.get(arr[i])
      count++
      map.set(arr[i],count)
    }else{
      map.set(arr[i],1)
    }
  }
  let min=Math.min(...map.values())
    console.log(min)
  arr.forEach((item)=>{
    if(map.get(item)!==min){
      res+=item
    }
  })
  return res
}

 

posted @ 2023-02-02 15:22  方小川  阅读(107)  评论(0编辑  收藏  举报