摘要:请编写前述函数的代码。编写一个递归函数来计算列表包含的元素数。找出列表中最大的数字还记得第章介绍的二分查找吗它也是一种分而治之算法。你能找出二分查找算法的基线条件和递归条件吗参考
4.1请编写前述sum函数的代码。
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编写一个递归函数来计算列表包含的元素数。
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找出列表中最大的数字
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...
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/44021.html
摘要:的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接口提供给用户使用。具有不可分割性即原语的执行必须是连续的,在执行过程中不允许被中断。 该文已加入开源文档:JavaGuide(一份涵盖大部分Java程序员所需要掌握的核心知识)。地址:https://github.com/Snailclimb... showImg(https:...
摘要:关于的三个谎言,你一定要清楚。这是的整个知识体系图谱,对于新手来说,没必要学那么多。第四自动化测试一切关于自动化的东西,似乎都可以满足,可以满足大多数自动化工作,提升工作效率。这都是正常的,千万别急着否定自己,怀疑自己。 ...
摘要:微信小程序课程,面向所有具备前端基础知识的同学阅读要求读者需要具备但不限于以下技能更佳一共四部分十五小节,适合七天的训练营。 ?? 微信小程序课程,面向所有具备前端基础知识的同学 ?? 阅读要求 读者需要具备但不限于以下技能 HTML JavaScript es6更佳 CSS 一共四部分十五小节,适合七天的训练营。 从现在开始,我假装你已经掌握了 html、 css以及 ES6...
摘要:微信小程序课程,面向所有具备前端基础知识的同学阅读要求读者需要具备但不限于以下技能更佳一共四部分十五小节,适合七天的训练营。 ?? 微信小程序课程,面向所有具备前端基础知识的同学 ?? 阅读要求 读者需要具备但不限于以下技能 HTML JavaScript es6更佳 CSS 一共四部分十五小节,适合七天的训练营。 从现在开始,我假装你已经掌握了 html、 css以及 ES6...
阅读 3690·2021-11-24 09:39
阅读 1850·2021-11-16 11:45
阅读 593·2021-11-16 11:45
阅读 1004·2021-10-11 10:58
阅读 2446·2021-09-09 11:51
阅读 1926·2019-08-30 15:54
阅读 666·2019-08-29 13:13
阅读 3450·2019-08-26 12:18