Python怎样实现数组中元素相加计算
Admin 2022-09-01 群英技术资讯 1045 次浏览
这篇文章主要介绍了Python怎样实现数组中元素相加计算相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python怎样实现数组中元素相加计算文章都会有所收获,下面我们一起来看看吧。count = 0
c2 = []
for i in range(len(c)):
if count == 0:
mm = c[i]
#print(mm)
#print(count)
if count == 1:
print(c[i])
value = c[i] + mm
c2 = np.append(c2,value)
count = 0
mm = 0
value = 0
continue
count = count + 1
c是原数组,我们设置一个count,当count=0时我们不操作,count=1时我们把当前元素与前一元素相加。
count=0其实相当于奇数,count=1相当于偶数
求数组中两两相加等于20的组合。
例:给定一个数组[1, 7, 17, 2, 6, 3, 14],这个数组中满足条件的有两对:17+3=20, 6+14=20。
分为两个步骤:
假设从前到后遍历的下标为begin,从后到前遍历的下标为end。
整个算法的时间复杂度为O(nlogn)。
# -*- coding:utf-8 -*-
def quick_sort(arr, left, right):
"""快速排序"""
if left >= right:
return
low = left
high = right
p = arr[left]
while left < right:
while left < right and arr[right] >= p:
right -= 1
arr[left] = arr[right]
while left < right and arr[left] <= p:
left += 1
arr[right] = arr[left]
arr[left] = p
quick_sort(arr, low, left-1)
quick_sort(arr, left+1, high)
def find_sum(arr, sum):
"""寻找数组中相加等于sum的组合"""
quick_sort(arr, 0, len(arr) - 1)
begin, end = 0, len(arr) - 1
while begin < end:
if arr[begin] + arr[end] < sum:
begin += 1
elif arr[begin] + arr[end] > sum:
end -= 1
else:
print('%s %s' % (arr[begin], arr[end]))
begin += 1
end -= 1
if __name__ == '__main__':
arr = [1, 7, 17, 2, 6, 3, 14]
find_sum(arr, 20)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
散点密度图是在散点图的基础上,计算了每个散点周围分布了多少其他的点,并通过颜色表现出来。本文主要介绍了Python绘制散点密度图的三种方式,需要的可以参考下
本文实例为大家分享了python编写五子棋游戏的具体代码,供大家参考,具体内容如下
这篇文章主要介绍了在python2中unicode()函数在python3中报错的解决方案,希望给大家做个参考,下次出现这个问题的时候,也知道如何应对
在这个用例中,我们要讨论的是关于函数的传参问题我所使用的python版本为3.3.2对于函数:def fun(arg): print(arg) def m...
这篇文章主要介绍了搭建Pytorch 和 Tensorflow v1 兼容的环境,本文是小编经过多次实践得到的环境配置教程,给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008