剑指 Offer II 065. 最短的单词编码

101 阅读1分钟

剑指 Offer II 065. 最短的单词编码

单词数组 words 的 有效编码 由任意助记字符串 s 和下标数组 indices 组成,且满足:

 var minimumLengthEncoding = function(arr) {
  var root = {};
  var result = 0;
  arr.sort((a,b)=>{
      return b.length-a.length; 
  })
  for(var str of arr) {
      var flag = false;
      var cur = root;
      for(var i=str.length-1;i>=0;i--) {
          var s = str[i];
          if(!cur[s]) {
              cur[s] = {};
              flag = true; 
          }
          cur = cur[s];
      }
      if(flag) result += (str.length+1);
  }
  return result;
};

代码调试

var words = ["time", "me", "bell"]
console.log(minimumLengthEncoding(words));

image.png