摘要:請編寫前述函數(shù)的代碼。編寫一個(gè)遞歸函數(shù)來計(jì)算列表包含的元素?cái)?shù)。找出列表中最大的數(shù)字還記得第章介紹的二分查找嗎它也是一種分而治之算法。你能找出二分查找算法的基線條件和遞歸條件嗎參考
4.1請編寫前述sum函數(shù)的代碼。
def diy_sum(arr): if not arr: return 0 elif len(arr) == 1: return arr[0] else: return arr.pop(0) + diy_sum(arr) arr = [1, 2, 3] print(diy_sum(arr))4.2編寫一個(gè)遞歸函數(shù)來計(jì)算列表包含的元素?cái)?shù)。
def count_elements(list): if not list: return None elif len(list) == 1: return 1 else: return 1 + count_elements(list[1:]) list = [1, 2, 3] print(count_elements(list))4.3找出列表中最大的數(shù)字
def bigger(int1, int2):
if int1 >= int2: return int1 else: return int2
def find_biggest(list):
if not list: return None elif len(list) == 1: return list[0] elif len(list) == 2: return bigger(list[0], list[1]) else: return bigger(list[0], find_biggest(list[1:])) list = [1, 5, 3, 2] print(find_biggest(list))4.4 還記得第1章介紹的二分查找嗎?它也是一種分而治之算法。你能找出二分查找算法的基線條件和遞歸條件嗎?
def binary_search_basic(list, target, low, high): if low > high: return None else: mid = int((low + high) / 2 + 0.5) guess = list[mid] if guess == target: return mid elif guess > target: high = mid - 1 return binary_search_basic(list, target, low, high) else: low = mid + 1 return binary_search_basic(list, target, low, high) def binary_search_dc(list, target): return binary_search_basic(list, target, 0, len(list) - 1) list = [1, 2, 3, 4, 5] target = 3 print(binary_search_dc(list, target))
參考:
https://blog.csdn.net/XIAOZHI...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/44021.html
摘要:的設(shè)計(jì)目標(biāo)是將那些復(fù)雜且容易出錯(cuò)的分布式一致性服務(wù)封裝起來,構(gòu)成一個(gè)高效可靠的原語集,并以一系列簡單易用的接口提供給用戶使用。具有不可分割性即原語的執(zhí)行必須是連續(xù)的,在執(zhí)行過程中不允許被中斷。 該文已加入開源文檔:JavaGuide(一份涵蓋大部分Java程序員所需要掌握的核心知識)。地址:https://github.com/Snailclimb... showImg(https:...
摘要:關(guān)于的三個(gè)謊言,你一定要清楚。這是的整個(gè)知識體系圖譜,對于新手來說,沒必要學(xué)那么多。第四自動化測試一切關(guān)于自動化的東西,似乎都可以滿足,可以滿足大多數(shù)自動化工作,提升工作效率。這都是正常的,千萬別急著否定自己,懷疑自己。 ...
摘要:微信小程序課程,面向所有具備前端基礎(chǔ)知識的同學(xué)閱讀要求讀者需要具備但不限于以下技能更佳一共四部分十五小節(jié),適合七天的訓(xùn)練營。 ?? 微信小程序課程,面向所有具備前端基礎(chǔ)知識的同學(xué) ?? 閱讀要求 讀者需要具備但不限于以下技能 HTML JavaScript es6更佳 CSS 一共四部分十五小節(jié),適合七天的訓(xùn)練營。 從現(xiàn)在開始,我假裝你已經(jīng)掌握了 html、 css以及 ES6...
摘要:微信小程序課程,面向所有具備前端基礎(chǔ)知識的同學(xué)閱讀要求讀者需要具備但不限于以下技能更佳一共四部分十五小節(jié),適合七天的訓(xùn)練營。 ?? 微信小程序課程,面向所有具備前端基礎(chǔ)知識的同學(xué) ?? 閱讀要求 讀者需要具備但不限于以下技能 HTML JavaScript es6更佳 CSS 一共四部分十五小節(jié),適合七天的訓(xùn)練營。 從現(xiàn)在開始,我假裝你已經(jīng)掌握了 html、 css以及 ES6...
閱讀 3735·2021-11-24 09:39
閱讀 1894·2021-11-16 11:45
閱讀 623·2021-11-16 11:45
閱讀 1045·2021-10-11 10:58
閱讀 2489·2021-09-09 11:51
閱讀 1949·2019-08-30 15:54
閱讀 700·2019-08-29 13:13
閱讀 3477·2019-08-26 12:18