zoukankan      html  css  js  c++  java
  • 获取相加等于某个值的集合

    import time,dis
    import random
    import tracemalloc
    nums = [random.randint(-109, 109) for i in range(2,1000)]
    target = random.randint(-109, 109)
    answer1 = []
    answer2 = []
    
    
    time0 = time.time()
    def a():
    b = []
    for k1, val1 in enumerate(nums):
    a = target - val1
    for k2, val2 in enumerate(b):
    if a == val2:
    answer1.append([(val1, k1), (val2, k2)])
    else:
    b.append(val1)
    
    #tracemalloc.start()
    a()
    # current, peak = tracemalloc.get_traced_memory()
    # print(f"Current memory usage is {current / 10**6}MB; Peak was {peak / 10**6}MB")
    # tracemalloc.stop()
    time1 = time.time()
    def b():
    val2 = []
    for k1, val1 in enumerate(nums):
    try:
    k2 = 0
    a = target - val1
    while True:
    k2 = val2.index(a, k2)
    answer2.append([(val1, k1), (val2[k2], k2)])
    k2 += 1
    except ValueError:
    val2.append(val1)
    #tracemalloc.start()
    b()
    # current, peak = tracemalloc.get_traced_memory()
    # print(f"Current memory usage is {current / 10**6}MB; Peak was {peak / 10**6}MB")
    # tracemalloc.stop()
    time2 = time.time()
    print(f"target: {target}")
    print(f", spendtime: {time1 - time0}, len: {len(answer1)}")
    print(f", spendtime: {time2 - time1}, len: {len(answer2)}")
  • 相关阅读:
    Java内存模型深度解析:final
    Java内存模型深度解析:总结
    打印流
    Properties
    进制间的转换
    JAVA IO
    001课-java_web开发入门
    openssl生成https证书 (转)
    PostgreSQL中COUNT的各条件下(1亿条数据)例子
    6个原因说服你选择PostgreSQL9.6
  • 原文地址:https://www.cnblogs.com/BeautyFuture/p/15616457.html
Copyright © 2011-2022 走看看