Golang | Leetcode Golang题解之第423题从英文中重建数字

题目:

题解:

Go 复制代码
func originalDigits(s string) string {
    c := map[rune]int{}
    for _, ch := range s {
        c[ch]++
    }

    cnt := [10]int{}
    cnt[0] = c['z']
    cnt[2] = c['w']
    cnt[4] = c['u']
    cnt[6] = c['x']
    cnt[8] = c['g']

    cnt[3] = c['h'] - cnt[8]
    cnt[5] = c['f'] - cnt[4]
    cnt[7] = c['s'] - cnt[6]

    cnt[1] = c['o'] - cnt[0] - cnt[2] - cnt[4]

    cnt[9] = c['i'] - cnt[5] - cnt[6] - cnt[8]

    ans := []byte{}
    for i, c := range cnt {
        ans = append(ans, bytes.Repeat([]byte{byte('0' + i)}, c)...)
    }
    return string(ans)
}
相关推荐
Ttang231 小时前
Leetcode:118. 杨辉三角——Java数学法求解
算法·leetcode
路遇晚风1 小时前
力扣=Mysql-3322- 英超积分榜排名 III(中等)
mysql·算法·leetcode·职场和发展
木向1 小时前
leetcode104:二叉树的最大深度
算法·leetcode
一个不喜欢and不会代码的码农2 小时前
力扣113:路径总和II
算法·leetcode
向阳12182 小时前
LeetCode40:组合总和II
java·算法·leetcode
旧日之血_Hayter2 小时前
LeetCode297.二叉树的序列化和反序列化
算法·leetcode
Wils0nEdwards2 小时前
Leetcode 整数转罗马数字
linux·python·leetcode
Star Patrick2 小时前
算法训练(leetcode)二刷第二十六天 | *452. 用最少数量的箭引爆气球、435. 无重叠区间、*763. 划分字母区间
算法·leetcode·哈希算法
@东辰4 小时前
【golang-技巧】-自定义k8s-operator-by kubebuilder
开发语言·golang·kubernetes
simple_ssn5 小时前
【C语言刷力扣】1502.判断能否形成等差数列
c语言·算法·leetcode