793. 阶乘函数后K个零 golang
生活随笔
收集整理的這篇文章主要介紹了
793. 阶乘函数后K个零 golang
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Me(AC 33 / 44 個通過測試用例)
func preimageSizeFZF(K int) int {count := 0for i := 0; i < 1000000; i++ {if trailingZeroes(i) == K {count++}}fmt.Println(count)//fmt.Println(trailingZeroes(25))return count}func trailingZeroes(n int) int {if n == 0 {return 0}return trailingZeroes(n / 5) + n / 5 }強行通過后
這個題答案是使用二分查找減少時間。1136ms已經是非常少見的,而且擊敗了100%的用戶。
執行用時 :1136 ms, 在所有 Go 提交中擊敗了100.00%的用戶 內存消耗 :1.9 MB, 在所有 Go 提交中擊敗了50.00%的用戶使用并發大法(本地通過)
var count int = 0func preimageSizeFZF(K int) int {wg := sync.WaitGroup{}wg.Add(1000000)for i := 0; i < 1000000; i++ {go func(i int) {trailingZeroes(i, K)wg.Done()}(i)}return count }func trailingZeroes(i int, K int) {if trailingZeroes1(i) == K {count++} }func trailingZeroes1(n int) int {if n == 0 {return 0}return trailingZeroes1(n / 5) + n / 5 } 執行結果: 超出內存限制總結
以上是生活随笔為你收集整理的793. 阶乘函数后K个零 golang的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode内存消耗
- 下一篇: 172. 阶乘后的零 golang