aasdadwe 2022-01-12 10:31 采纳率: 85.7%
浏览 75
已结题

如何用python解决以下问题

有四个整数序列。每个整数取值范围为-50,000,000 ~ 50,000,000(含50,000,000)。编写一个Python 3程序,查找一组由四个数字组成的集合,每个序列都有一个数字,其和为零。
对于任何测试用例,运行时间不能超过1秒。

输入:四行,每行为n个整数序列,n≤1000,用空格隔开。

输出:4个数字,来自4个不同的序列,和为0,或者“不存在”如果这4个数字不存在。如果有多于一组四个数之和为零,则输出任意一组。

比如

img

  • 写回答

1条回答 默认 最新

  • CSDN专家-HGJ 2022-01-12 23:59
    关注

    参考如下代码,可以运行出希望的结果,至于运行时间会不会超时,你测试下看看:

    import numpy as np
    import random
    a = np.array([[int(x) for x in input().split()] for _ in range(4)])
    if any(a.sum(axis=0) == 0):
        s = random.choice(a[:, a.sum(axis=0) == 0].T)
    else:
        s=[0]*a.shape[1]
    print(*s)
    

    运行结果:

    #1
    1 2 3 4   
    2 1 3 5
    0 2 1 4
    -3 -5 2 1
    1 2 0 -3
    #2
    0 1 2 3 
    2 3 4 5
    1 2 3 4 
    4 5 6 7 
    0 0 0 0
    

    按补充解释要求,用product来所有行元素的组合,用如下代码即可:

    from itertools import product
    import random
    a = [[int(x) for x in input().split()] for _ in range(4)]
    b=[x for x in product(*a) if sum(x)==0]
    if len(b)!=0:
        print(*random.choice(b))
    else:
        print('不存在')
    
    

    运行结果:
    -1121284 2077198 -3214647 2258733

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 1月22日
  • 已采纳回答 1月14日
  • 创建了问题 1月12日

悬赏问题

  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 angular开发过程中,想要读取模型文件,即图1的335行,会报404错误(如图2)。但我的springboot里配置了静态资源文件,如图3。且在该地址下我有模型文件如图4,请问该问题该如何解决呢?
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了
  • ¥100 H5网页如何调用微信扫一扫功能?
  • ¥15 讲解电路图,付费求解
  • ¥15 有偿请教计算电磁学的问题涉及到空间中时域UTD和FDTD算法结合的
  • ¥15 vite打包后,页面出现h.createElement is not a function,但本地运行正常
  • ¥15 Java,消息推送配置