JusTTinn 2023-08-01 13:32 采纳率: 50%
浏览 26
已结题

C++分苹果递归算法

img

这个是chatgpt给的递归函数(我只学了递归所以没办法用动态搜索来做):

img

img


我有几个点不明白:

  1. 这个递归函数是先把option1递归完再递归option2吗?有什么影响呢?为什么呢?
  2. 我是真的不理解option1和option2的意义?能不呢帮我拆解下递归(我想看看样例(GPT给的看不懂啊))
  3. 什么情况下才会返回option1和option2的最小值呢?(这俩的最小值到底是什么啊?这个变量哪来的值啊)
  4. 如果option1递归完,会怎样影响option2递归的情况?
    (不懂的有点多,等我追问哈)
    帮我系统得讲下
  • 写回答

3条回答 默认 最新

  • 想要AC的dly 2023-08-01 14:15
    关注

    1、可以这样理解,每一次递归都是一次选择,你可以看到这个函数里面有一个变量index,这个就是表示当前递归到数组里面第几个数字,先后顺序没有影响,因为都会遍历一遍
    2、option1表示sum1里面加数字weight[index]算出差值最小值,option2表示sum2里面加数字weight[index]算出差值最小值。
    3、当全部遍历之后就会产生一个值就是递归到index==n的时候
    4、不会影响,这俩个是分开的

    img

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
    JusTTinn 2023-08-01 15:43

    img

    img

    我不理解return10后return8那种步骤的逻辑

    回复
    想要AC的dly 回复 JusTTinn 2023-08-01 23:15

    这里其实就是有比较的意思在里面,option1和option2本身就是代表着weight[index]这个数字分别再sum1和sum2里面这两种情况算出来的最佳的值,一直进行比较求最佳值。

    回复
    想要AC的dly 回复 JusTTinn 2023-08-01 23:21

    比如说你举的这个例子:3、1、4、2,一开始全部放到sum1里面,option1为10,在最后一层函数里面,option2就是最后一个2放到sum2里面的情况,此时option2=abs(8-2)=6,你这里写错了,经过比较之后我们回到上一层,就可以判断当前面四个都选择第一个的时候的最小差

    回复
    展开全部7条评论
查看更多回答(2条)
编辑
预览

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月2日
  • 已采纳回答 8月2日
  • 创建了问题 8月1日

悬赏问题

  • ¥15 宝塔面板一键迁移使用不了
  • ¥15 求一个按键录像存储到内存卡的ESP32CAM代码
  • ¥15 如何单独修改下列canvas推箱子代码target参数?,插入图片代替其形状,就是哪个绿色的圆圈每关用插入的图片替代
  • ¥20 四叉树的创建和输出问题
  • ¥15 javaweb连接数据库,jsp文件加载不出来
  • ¥15 matlab关于高斯赛德尔迭代的应用编撰。(相关搜索:matlab代码|迭代法)
  • ¥15 损失匹配问题,求解答
  • ¥15 3500常用汉字书法体检测数据集下载
  • ¥15 odoo17在制造模块或采购模块良品与次品如何分流和在质检模块下如何开发
  • ¥15 Qt音乐播放器的音乐文件相对路径怎么写
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部