题解 | #提取不重复的整数#

提取不重复的整数

http://www.nowcoder.com/practice/253986e66d114d378ae8de2e6c4577c1

转成string倒着取,用map判断重复,再转回int,看看是不是能整除10就好了

package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
)

func main() {
	var t, n int
	in := bufio.NewReader(os.Stdin)
	fmt.Fscan(in, &t)
	mp := make(map[byte]bool)
	ss := ""
	s := strconv.Itoa(t)
	for i := len(s) - 1; i >= 0; i-- {
		if _, ok := mp[s[i]]; ok {
			continue
		}
		ss += string(s[i])
		mp[s[i]] = true
	}
	n, _ = strconv.Atoi(ss)
	for n%10 == 0 {
		n /= 10
	}
	fmt.Println(n)
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务