423. 从英文中重建数字

423. 从英文中重建数字给你一个字符串 s ,其中包含字母顺序打乱的用英文单词表示的若干数字(0-9)。按 升序 返回原始的数字。示例 1:输入:s = “o

大家好,欢迎来到IT知识分享网。

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

示例 1:

输入:s = “owoztneoer”
输出:”012″
示例 2:

输入:s = “fviefuro”
输出:”45″

提示:

1 <= s.length <= 105
s[i] 为 [“e”,”g”,”f”,”i”,”h”,”o”,”n”,”s”,”r”,”u”,”t”,”w”,”v”,”x”,”z”] 这些字符之一
s 保证是一个符合题目要求的字符串

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reconstruct-original-digits-from-english
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

题解

423. 从英文中重建数字

Swift

class Solution {
func originalDigits(_ s: String) -> String {
var map = [Character: Int]()

for ch in s {
if map[ch] != nil {
map[ch] = map[ch]! + 1
} else {
map[ch] = 1
}
}

var list = [Int](repeating: 0, count: 10)

list[0] = map[“z”] ?? 0
list[2] = map[“w”] ?? 0
list[4] = map[“u”] ?? 0
list[6] = map[“x”] ?? 0
list[8] = map[“g”] ?? 0

list[3] = (map[“h”] ?? 0) – list[8]
list[5] = (map[“f”] ?? 0) – list[4]
list[7] = (map[“s”] ?? 0) – list[6]

list[1] = (map[“o”] ?? 0) – list[0] – list[2] – list[4]
list[9] = (map[“i”] ?? 0) – list[5] – list[6] – list[8]

var result = “”

for i in 0 ..< list.count {
for _ in 0 ..< list[i] {
result += “\(i)”
}
}

return result
}
}

print(Solution().originalDigits(“owoztneoer”))

print(Solution().originalDigits(“fviefuro”))

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/73961.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信