python怎么实现数组元素两两相加
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇"python怎么实现数组元素两两相加"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这
千家信息网最后更新 2025年11月07日python怎么实现数组元素两两相加
这篇"python怎么实现数组元素两两相加"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"python怎么实现数组元素两两相加"文章吧。
数组元素两两相加
count = 0c2 = []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的组合(Python实现)
题目
求数组中两两相加等于20的组合。
例:给定一个数组[1, 7, 17, 2, 6, 3, 14],这个数组中满足条件的有两对:17+3=20, 6+14=20。
解析
分为两个步骤:
先采用堆排序或快速排序对数组进行排序,时间复杂度为O(nlogn)。
然后对排序的数组分别从前到后和从后到前进行遍历, 时间复杂度为O(n)。
假设从前到后遍历的下标为begin,从后到前遍历的下标为end。
当arr[begin] + arr[end] < 20时,满足条件的数一定在[begin+1, end]之间;
当arr[begin] + arr[end] > 20时,满足条件的数一定在[begin, end-1]之间;
当arr[begin] + arr[end] = 20时,找到一组符合条件的数,剩下的组合一定在[begin-1, end-1]之间。
整个算法的时间复杂度为O(nlogn)。
Python实现
# -*- 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 -= 1if __name__ == '__main__': arr = [1, 7, 17, 2, 6, 3, 14] find_sum(arr, 20)以上就是关于"python怎么实现数组元素两两相加"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
数组
元素
内容
排序
条件
组合
复杂
之间
复杂度
时间
下标
文章
步骤
知识
篇文章
两个
价值
偶数
大部分
奇数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全是智能家居的命门吗
网络技术5g
中国网络安全教育考题
数据访问层必须是数据库服务器吗
政企网络安全研报
康宏锦云网络技术工作室
越剧视频软件开发
十荟团服务器苹果怎么下载
2020年网络技术快速发展
软件开发先培训再上岗
网络安全应急演练总结特点
网信网络安全认证
进口串口联网服务器批发
英国网络安全战略 应对
软件开发技术学习报告
怎么开模拟服务器房间
金铲铲之战服务器维修到几点
平凉网络安全工程师证
戴尔服务器进阵列卡bios
橡果网络技术
在数据库系统运行过程中发生故障
c 文件 写入数据库中
腾讯云服务器怎么在桌面
实现数据库安全控制方法
服务器卡顿帧率
刘亦菲数据库
软件开发文档全套模板下载
河北人工智能农业信息系统数据库
基岩版服务器多少钱一个月
网络安全加强计算机抽查