白桦之王 发表于 2021-11-7 16:26:55

布吉岛

yi3301168449 发表于 2021-11-9 09:54:26

1

yi3301168449 发表于 2021-11-9 09:59:30

import random
import timeit
import time

t1 = time.time()
haystack =
needles =
t2 = time.time()

print(t2 - t1)
haystack = set(haystack)

# 请在此处添加一行代码,使得查找过程的执行效率提高 10000 倍以上。

def find():
    found = 0
    for each in needles:
      if each in haystack:
            found += 1

    print(f"一共找到{found}个匹配。")

t = timeit.timeit("find()", setup="from __main__ import find", number=1)
print(f"查找过程一共消耗{t}秒。")

# 8.473680973052979
# 一共找到642个匹配。
# 查找过程一共消耗0.0005579999999998364秒。
#
# Process finished with exit code 0


哦哦,我想错了,一直在想,生成两个列表也要话8秒多的时间,怎么都不能将时间压缩这么多啊,看的不仔细啊{:10_258:}

风不会说话 发表于 2021-11-9 13:07:44

看看

ftliang 发表于 2021-11-10 16:03:50

暂时不知

18734182558 发表于 2021-11-11 11:52:07

132

ouyunfu 发表于 2021-11-11 16:33:22

查看答案解析

specail 发表于 2021-11-11 21:29:45

haystack =set(haystack)

九头身日奈 发表于 2021-11-12 03:04:58

1

君月 发表于 2021-11-16 23:39:22

查看答案

Paradox483 发表于 2021-11-18 20:42:04

{:10_277:}

lhgzbxhz 发表于 2021-11-19 21:12:22

啊这

2623169312 发表于 2021-11-21 12:29:50

1

一叶无伤 发表于 2021-11-21 17:08:07

1

sagwa 发表于 2021-11-22 18:23:36

4

SUMMER_TIME 发表于 2021-11-22 19:42:18

1

shadowmage 发表于 2021-11-23 14:21:18

看看究竟是啥代码

468296339破风手 发表于 2021-11-30 12:54:38

不会怎么班

eeffve 发表于 2021-11-30 20:11:52

撒旦撒

君苏依寂 发表于 2021-11-30 20:15:57

装饰器
页: 1 2 3 [4] 5 6 7 8 9 10 11 12 13
查看完整版本: 添加一行代码,提高10000倍以上的执行效率