HJ9 提取不重复的整数
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
?微信公众号:山青咏芝
?博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/ )
?GitHub地址:https://github.com/strengthen/LeetCode
?原文地址:
?如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
?原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
热烈欢迎,请直接点击!!!
进入博主App Store主页,下载使用各个作品!!!
注:博主将坚持每月上线一个新app!!!
描述
输入一个 int 型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。 保证输入的整数最后一位不是 0 。 数据范围:输入描述:
输入一个int型整数
输出描述:
按照从右向左的阅读顺序,返回一个不含重复数字的新的整数
示例1
输入:9876673输出:
37689
while let line = readLine(), let num = Int(line) { var vals = Set() var k = num while k > 0 { let val = k%10 if !vals.contains(val) { vals.insert(val) print("\(val)", terminator: "") } k /= 10 } }
import Foundation while let line = readLine() { if var inputNum = Int(line) { var resultArr: [Int] = [] while true { let value = inputNum % 10 resultArr.append(value) inputNum = inputNum / 10 if inputNum == 0 { break } } // remove duplicated values var resultSet: Set= Set() var uniquearr = resultArr.filter({ va in if resultSet.contains(va) { return false } else { resultSet.insert(va) return true } }) var result: Int = 0 for i in uniquearr { result = result * 10 + i } print(result) } }
func test() { if let a = readLine() { var n = 0 var map: [Int: Bool?] = [:] for i in a.reversed() { let index = Int(String.init(i))! if let _ = map[index] { } else { map[index] = true n = n*10 + index } } print(n) } } test()