广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python怎么实现数组元素两两相加
  • 211
分享到

python怎么实现数组元素两两相加

2023-06-30 14:06:00 211人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

这篇“python怎么实现数组元素两两相加”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“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怎么实现数组元素两两相加”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网Python频道。

--结束END--

本文标题: python怎么实现数组元素两两相加

本文链接: https://www.lsjlt.com/news/329362.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python怎么实现数组元素两两相加
    这篇“python怎么实现数组元素两两相加”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python怎么实现数组元素两两相加...
    99+
    2023-06-30
  • python如何实现数组元素两两相加
    目录数组元素两两相加求数组中两两相加等于20的组合(Python实现)题目解析Python实现数组元素两两相加 count = 0 c2 = [] for i in range(le...
    99+
    2022-11-11
  • Python怎么实现两数相加
    这篇文章主要讲解了“Python怎么实现两数相加”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python怎么实现两数相加”吧!两数相加题目描述给出两个 非空 的链表用来表示两个非负的整数。...
    99+
    2023-06-02
  • python列表元素两两依次组合怎么实现
    你可以使用嵌套循环来实现列表元素两两依次组合的操作。以下是一个示例代码:```pythonmy_list = [1, 2, 3, 4...
    99+
    2023-09-06
    python
  • python元组tuple添加元素的两种方法
    python元组tuple添加元素的两种方法 方法一:可以使用python内置的__add__()方法,使用该方法为python元组添加元素时,需要使用元组来对象来进行调用,然后将需要添加的元素,以元组的数据类型进行传递,该方法并需修改调用...
    99+
    2023-09-01
    python 开发语言 数据结构
  • php怎么对比两个数组是否有相同元素
    对比方法:1、利用array_intersect_assoc()函数对比两个数组的键名和键值,语法“array_intersect_assoc($arr1,$arr2)”,会返回一个包含相同元素的交集数组;2、利用“==”运算符判断交集数组...
    99+
    2022-06-14
    php php数组
  • php怎么比较两个数组去除相同的元素
    实现步骤:1、用array_intersect()比较两个数组并获取相同元素,语法“array_intersect(原数组1,原数组2)”,会返回一个包含相同元素的交集数组;2、用array_diff()分别将两个原数组和交集数组进行对比,...
    99+
    2022-09-01
  • php怎么实现两个数字相加
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑php实现两个数字相加1、使用“+”加法运算符“+”运算符就是用于加法计算的。示例:<php $a = -100; $b = 70; ec...
    99+
    2019-04-20
    php 两数字相加
  • Java数组添加元素的两种方法
    目录说在前面方式一:方式二:说在前面 数组在使用前,长度就已固定,所以原数组长度是不能再改变了,基于此,提供如下两种方式,给数组添加数据。具体代码如下 方式一: 创建一个新数组,长度...
    99+
    2023-05-17
    Java 数组添加元素 Java数组
  • java 数组添加元素的两种方法
    说在前面 数组在使用前,长度就已固定,所以原数组长度是不能再改变了,基于此,提供如下两种方式,给数组添加数据。具体代码如下 方式一: 创建一个新数组,长度为原数组加1,然后将原数组数据添加到新数组,最后再添加需要的新数据 @Test ...
    99+
    2023-08-16
    java jvm 数组 开发语言 数据结构
  • php如何去除两个数组相同的元素
    这篇文章主要讲解了“php如何去除两个数组相同的元素”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何去除两个数组相同的元素”吧!在php中,可以利用array_diff()函数来去除...
    99+
    2023-06-20
  • php数组怎么只取前两个元素
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑php数组只取前两个元素的方法方法1:使用array_splice()函数<php header("Content-type:text/html;cha...
    99+
    2019-06-05
    php 数组 截取元素
  • JavaScript如何实现数组元素相加
    这篇文章主要介绍“JavaScript如何实现数组元素相加”,在日常操作中,相信很多人在JavaScript如何实现数组元素相加问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2022-10-19
  • php 判断两个数组中是否有相同元素
    在 PHP 中判断两个数组是否有相同元素是一件很常见的事情,因为在实际的开发中,我们很难避免需要对数组进行比较。下面就来介绍几种判断两个数组是否有相同元素的方法。方法一:使用 array_intersect 函数array_intersec...
    99+
    2023-05-19
  • php中两个数组如何去掉相同的元素
    这篇文章主要介绍了php中两个数组如何去掉相同的元素,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。PHP去掉两个数组中相同元素的方法:首先嵌套两个foreach循环来遍历两个...
    99+
    2023-06-15
  • CSS如何实现两个元素相融效果
    这篇“CSS如何实现两个元素相融效果”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“CSS如何实现两个元素相融效果”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章有所收获,下面让...
    99+
    2023-06-08
  • 怎么在java中实现两个大数相加
    怎么在java中实现两个大数相加?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。代码如下:public class BigIntAdd {priva...
    99+
    2023-05-30
    java
  • C语言怎么实现两个整数相加
    这篇文章主要介绍“C语言怎么实现两个整数相加”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C语言怎么实现两个整数相加”文章能帮助大家解决问题。使用 scanf() 来接收输入, printf() 与...
    99+
    2023-06-17
  • Android实现两个数相加功能
    本文实例为大家分享了Android实现两个数相加的具体代码,供大家参考,具体内容如下 要实现如图所示的加法计算器的话,还是比较简单的,下面直接上demo,有不懂的可以留言交流。...
    99+
    2022-06-06
    Android
  • python3两数相加的实现示例
    两数相加 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作