首页 > 其他分享 >递归的实践1

递归的实践1

时间:2024-08-30 18:39:30浏览次数:8  
标签:return 递归 temp sum 实践 reN print reverse

目录


需求背景

给你一个数组,把这个数组里面每个数字都求差,然后把这些差都求和。

正常演示步骤:

[1,3,5]
1-3 = 2
1-5 = 4
-
3-5 = 2

sum = 8

反过来思考子问题是什么:

[1,3,5]
reverse [5,3,1]

5-3 = 2
5-1 = 4
-
3-1 = 2

sum = 8

[1,3,5,7]
reverse [7,5,3,1]

7-5 = 2
7-3 = 4
7-1 = 6
-
5-3 = 2
5-1 = 4
-
3-1 = 2

sum = 20

写出代码:
code:

def f(n) -> int:
    temp = []

    if len(n) == 1:
        return sum(temp)

    reN = list(reversed(n))
    for i, x in enumerate(reN):  # i[5,3,1]
        if i != 0:
            print("reN ", reN)
            print(reN[0], reN[i])
            temp.append(abs(reN[0] - reN[i]))
            print(temp)
    return sum(temp) + f(n[:-1])


n = [1, 3, 5, 7]
print(f(n))

标签:return,递归,temp,sum,实践,reN,print,reverse
From: https://www.cnblogs.com/mysticbinary/p/18389301

相关文章

  • Capital许可分析的最佳实践
    在快速变化的软件许可环境中,企业如何确保合规性并优化成本?Capital许可分析为此提供了解决方案。通过深入探讨Capital许可分析的最佳实践,并结合实际案例,本文将为企业展示如何实现合规与成本的双赢。一、明确目标与策略成功的Capital许可分析始于明确的目标与策略。某大型制造企业......
  • Clobotics 计算机视觉场景存储实践:多云架构、 POSIX 全兼容、低运维的统一存储HB
    Clobotics是一家将计算机视觉和机器学习技术应用于风电以及零售行业的企业。在风电行业,Clobotics利用无人机对风力发电机叶片进行检查,显著降低了对人工作业的依赖。在零售领域,公司通过分析捕获的包装商品图像来提供基于实时数据的洞察,以增加销售额并减少运营成本。存储方面,Clob......
  • 深入解析 C# 中的原型模式:从理论到实践
    在软件设计中,设计模式是一种帮助我们解决常见问题的通用方案。原型模式(PrototypePattern)作为创建型设计模式之一,通过复制已有的对象来生成新对象,而不是通过实例化类。这种模式在需要频繁创建对象的场景中非常有用,尤其是当对象的创建过程非常复杂时。本文将深入探讨原型模......
  • Python 通过 COM 调用 ChemDraw 实践
    COMComponentObjectModel(COM)是由Microsoft提供的一种二进制接口技术,用于软件组件间的交互。它支持在不同编程语言、编程环境、进程和计算机之间以语言中立的方式使用对象。使用Python通过COM接口调用ChemDraw绘制分子及获取文档中的对象Python提供了一些常用的......
  • Clobotics 计算机视觉场景存储实践:多云架构、 POSIX 全兼容、低运维的统一存储
    Clobotics是一家将计算机视觉和机器学习技术应用于风电以及零售行业的企业。在风电行业,Clobotics利用无人机对风力发电机叶片进行检查,显著降低了对人工作业的依赖。在零售领域,公司通过分析捕获的包装商品图像来提供基于实时数据的洞察,以增加销售额并减少运营成本。存储方面,Clob......
  • 深入理解Java中的分布式锁实现:从理论到实践
    引言在分布式系统中,多个进程或线程可能需要访问同一份资源,这时就需要一种机制来确保资源不被同时修改,从而避免数据不一致的问题。分布式锁正是应对这种场景的重要手段。本文将详细介绍Java中的分布式锁实现原理、常见的分布式锁技术,以及具体的代码示例。目录分布式锁的基本......
  • 海大集团的可观测平台建设实践
    海大集团介绍海大集团是以科技为主导的中国农业龙头企业,1998年成立于广东广州,目前业务涵盖饲料、种苗、动保疫苗、智慧养殖、食品加工等现代农牧全产业链,在全球拥有分子公司逾600家、员工达4万人,位列2023中国企业500强第238位、2023中国民营企业500强第87位。凭借亮眼的业务表现......
  • shell脚本实现递归拷贝文件
    shell脚本#!/bin/bashlist=(10.12.63.23210.12.7.9510.12.8.24710.12.9.14610.253.1.19810.38.0.12510.38.0.20510.38.0.4410.38.0.9710.111.8.23410.12.20.1310.12.2.15010.12.3.14310.12.50.17510.12.65.710.12.8.12610.12.8.9010.1......
  • lambda实现递归
    lambda实现递归在C++中,lambda表达式在定义时实际上不能直接调用自己,因为lambda在定义时没有名字。要让一个lambda自我引用,你需要使用一个技巧:将lambda自身作为参数传递给自己,从而实现递归。为什么Lambda自身在定义时无法被调用?匿名性:Lambda表达式是匿名的,编译器在......
  • 汉诺塔和递归
    目录需求背景、限制条件、化简模拟盘子的移动步骤递归实现Code分析练习1需求背景、限制条件、化简汉诺塔就是一个由柱子和盘子组成的玩具,它有一些玩法上的限制,主要是规定了盘子移动有限制。想理解到递归本质,汉诺塔是个不错的载体。怎么体会?在盘子移动的过程中。#盘子的......