423. Reconstruct Original Digits

2021-11-20  本文已影响0人  jluemmmm

给你一个字符串 s ,其中包含字母顺序打乱的用英文单词表示的若干数字(0-9)。按 升序 返回原始的数字。

/**
 * @param {string} s
 * @return {string}
 */
var originalDigits = function(s) {
  let map = {};
  for (const item of s) {
    map.hasOwnProperty(item) ? map[item]++ : map[item] = 1;
  }
  console.log(map)
  
  let f = Array(10).fill(0);
  f[0] = map['z'] || 0;
  f[2] = map['w'] || 0;
  f[4] = map['u'] || 0;
  f[6] = map['x'] || 0;
  f[8] = map['g'] || 0;
  
  f[1] = (map['o'] || 0) - f[0] - f[2] - f[4];
  f[3] = (map['h'] || 0) - f[8];
  f[5] = (map['f'] || 0) - f[4];
  f[7] = (map['s'] || 0) - f[6];
  f[9] = (map['i'] || 0) - f[6] - f[8] - f[5];
  
  let res = '';
  for (let i = 0; i < 10; i++) {
    res += (i + '').repeat(f[i]);
  }
  return res;
};
上一篇 下一篇

猜你喜欢

热点阅读