Go题库3_明明的随机数

package main

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

func main() {
    /*
        解题思路:
            1. 数据范围在 1 - 1000, 可以初始化一个长度是1001, 列表项是 false 的列表
            2. 获取的数字作为列表的 index, 值置为 true
            3. 遍历数组, 根据 v 是 true 免去了排序
    */

    scanner := bufio.NewScanner(os.Stdin)
    for {
        scanner.Scan()
        if len(scanner.Text()) == 0 {
            break
        }

        arr := [1001]bool{}
        num, _ := strconv.Atoi(scanner.Text())
        for i := num; i > 0; i-- {
            scanner.Scan()
            item, _ := strconv.Atoi(scanner.Text())
            arr[item] = true
        }

        for i, v := range arr {
            if v {
                fmt.Println(i)
            }
        }

    }
}