zoukankan      html  css  js  c++  java
  • HJ9 提取不重复的整数

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    ➤微信公众号:山青咏芝
    ➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/ )
    ➤GitHub地址:https://github.com/strengthen/LeetCode
    ➤原文地址:https://www.cnblogs.com/strengthen/p/15553347.html
    ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
    ➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

    热烈欢迎,请直接点击!!!

    进入博主App Store主页,下载使用各个作品!!!

    注:博主将坚持每月上线一个新app!!!

    描述

    输入一个 int 型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
    保证输入的整数最后一位不是 0 。
     
    数据范围: 

    输入描述:

    输入一个int型整数

    输出描述:

    按照从右向左的阅读顺序,返回一个不含重复数字的新的整数

    示例1

    输入:
    9876673
    输出:
    37689
    while let line = readLine(), let num = Int(line) {
        var vals = Set<Int>()
        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<Int> = 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()
  • 相关阅读:
    java第一次作业
    第十一次作业
    第十次作业
    第九次作业
    第八次作业
    第七次作业
    第六次作业
    第五次作业
    实验四,实验五
    Java_实验二
  • 原文地址:https://www.cnblogs.com/strengthen/p/15553347.html
Copyright © 2011-2022 走看看