最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python如何實(shí)現(xiàn)數(shù)組元素兩兩相加

 更新時(shí)間:2022年05月13日 14:41:00   作者:逯小藍(lán)  
這篇文章主要介紹了python如何實(shí)現(xiàn)數(shù)組元素兩兩相加,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

數(shù)組元素兩兩相加

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是原數(shù)組,我們?cè)O(shè)置一個(gè)count,當(dāng)count=0時(shí)我們不操作,count=1時(shí)我們把當(dāng)前元素與前一元素相加。

count=0其實(shí)相當(dāng)于奇數(shù),count=1相當(dāng)于偶數(shù)

求數(shù)組中兩兩相加等于20的組合(Python實(shí)現(xiàn))

題目

求數(shù)組中兩兩相加等于20的組合。

例:給定一個(gè)數(shù)組[1, 7, 17, 2, 6, 3, 14],這個(gè)數(shù)組中滿足條件的有兩對(duì):17+3=20, 6+14=20。

解析

分為兩個(gè)步驟:

  • 先采用堆排序或快速排序?qū)?shù)組進(jìn)行排序,時(shí)間復(fù)雜度為O(nlogn)。
  • 然后對(duì)排序的數(shù)組分別從前到后和從后到前進(jìn)行遍歷, 時(shí)間復(fù)雜度為O(n)。

假設(shè)從前到后遍歷的下標(biāo)為begin,從后到前遍歷的下標(biāo)為end。

  • 當(dāng)arr[begin] + arr[end] < 20時(shí),滿足條件的數(shù)一定在[begin+1, end]之間;
  • 當(dāng)arr[begin] + arr[end] > 20時(shí),滿足條件的數(shù)一定在[begin, end-1]之間;
  • 當(dāng)arr[begin] + arr[end] = 20時(shí),找到一組符合條件的數(shù),剩下的組合一定在[begin-1, end-1]之間。

整個(gè)算法的時(shí)間復(fù)雜度為O(nlogn)。

Python實(shí)現(xiàn)

# -*- 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):
    """尋找數(shù)組中相加等于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)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 5個(gè)Python自動(dòng)化運(yùn)維腳本分享

    5個(gè)Python自動(dòng)化運(yùn)維腳本分享

    Python 是一種流行的編程語言,具有豐富的第三方庫(kù)和強(qiáng)大的自動(dòng)化能力,適用于許多不同的領(lǐng)域,許多運(yùn)維工程師會(huì)使用 Python 腳本來自動(dòng)化運(yùn)維任務(wù),所以本文為大家整理了5個(gè)Python自動(dòng)化運(yùn)維腳本,有需要的可以參考下
    2023-08-08
  • Python基礎(chǔ)類繼承重寫實(shí)現(xiàn)原理解析

    Python基礎(chǔ)類繼承重寫實(shí)現(xiàn)原理解析

    這篇文章主要介紹了Python基礎(chǔ)類繼承重寫實(shí)現(xiàn)原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • python實(shí)現(xiàn)車牌識(shí)別的示例代碼

    python實(shí)現(xiàn)車牌識(shí)別的示例代碼

    這篇文章主要介紹了python實(shí)現(xiàn)車牌識(shí)別的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 在Python的Flask框架中驗(yàn)證注冊(cè)用戶的Email的方法

    在Python的Flask框架中驗(yàn)證注冊(cè)用戶的Email的方法

    這篇文章主要介紹了在Python的Flask框架中驗(yàn)證注冊(cè)用戶的Email的方法,包括非常詳細(xì)的測(cè)試過程,極力推薦!需要的朋友可以參考下
    2015-09-09
  • TensorFlow固化模型的實(shí)現(xiàn)操作

    TensorFlow固化模型的實(shí)現(xiàn)操作

    這篇文章主要介紹了TensorFlow固化模型的實(shí)現(xiàn)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • python 利用已有Ner模型進(jìn)行數(shù)據(jù)清洗合并代碼

    python 利用已有Ner模型進(jìn)行數(shù)據(jù)清洗合并代碼

    今天小編就為大家分享一篇python 利用已有Ner模型進(jìn)行數(shù)據(jù)清洗合并代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • PyCharm License Activation激活碼失效問題的解決方法(圖文詳解)

    PyCharm License Activation激活碼失效問題的解決方法(圖文詳解)

    這篇文章主要介紹了PyCharm License Activation激活碼失效問題的解決方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • python出現(xiàn)更新庫(kù)失敗A?new?release?of?pip?is?available:?23.0.1?->?23.3解決辦法

    python出現(xiàn)更新庫(kù)失敗A?new?release?of?pip?is?available:?23.0.

    學(xué)習(xí)了Python我們知道它自帶了很多的庫(kù),同時(shí)我們還需要對(duì)某個(gè)庫(kù)進(jìn)行升級(jí),這篇文章主要給大家介紹了關(guān)于python出現(xiàn)更新庫(kù)失敗A?new?release?of?pip?is?available:?23.0.1?->?23.3的解決辦法,需要的朋友可以參考下
    2024-03-03
  • Pytorch模型遷移和遷移學(xué)習(xí),導(dǎo)入部分模型參數(shù)的操作

    Pytorch模型遷移和遷移學(xué)習(xí),導(dǎo)入部分模型參數(shù)的操作

    這篇文章主要介紹了Pytorch模型遷移和遷移學(xué)習(xí),導(dǎo)入部分模型參數(shù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Python對(duì)PDF文檔和PPT文檔的操作詳解

    Python對(duì)PDF文檔和PPT文檔的操作詳解

    Python辦公?動(dòng)化是利?Python編程語?來創(chuàng)建腳本和程序,以簡(jiǎn)化、加速和?動(dòng)化?常辦公任務(wù)和?作流程的過程,它基于Python的強(qiáng)?功能和豐富的第三?庫(kù),使得能夠處理各種辦公任務(wù),本文給大家介紹了Python對(duì)PDF文檔和PPT文檔的操作,需要的朋友可以參考下
    2023-12-12

最新評(píng)論

宁都县| 昌都县| 富平县| 伽师县| 恩施市| 馆陶县| 庆元县| 噶尔县| 邯郸市| 怀化市| 富民县| 平安县| 三江| 兴仁县| 娱乐| 大城县| 长乐市| 福安市| 蒙城县| 偃师市| 张家川| 中阳县| 耿马| 昭通市| 锡林浩特市| 广汉市| 武山县| 平度市| 修武县| 疏勒县| 禹城市| 扎囊县| 吴江市| 盘山县| 灵丘县| 洪湖市| 新泰市| 朝阳区| 淄博市| 三江| 通榆县|