go 小题

统计1-1000包含1的数字的个数

//判断1-1000中含1的数字有多少
func catianOne() {
    num := 0
    for i := 1; i <= 1000; i++ {
        if strings.Contains(strconv.Itoa(i), "1") {
            num++
            fmt.Println(i)
        }
    }
    fmt.Println(num)
}
View Code

 采用递归求公共长度

//strs = []string{"flower", "flow", "flight"}
//采用递归求最长公共前缀
func longestCommonPrefix(strs []string) string {
    var num int = 0
    if len(strs) == 0 {
        return ""
    }
    var f func()
    f = func() {
        if num+1 > len(strs[0]) {
            return
        }
        su := string(strs[0][0 : num+1])
        for _, v := range strs {
            if num > len(v) {
                return
            }
            if !strings.HasPrefix(v, su) {
                return
            }
        }
        num++
        f()
    }
    f()
    return string(strs[0][0:num])
}
View Code

 

posted @ 2020-06-08 14:39  jiuchen  阅读(176)  评论(0编辑  收藏  举报