【面试题08.06.汉诺塔问题】

这篇具有很好参考价值的文章主要介绍了【面试题08.06.汉诺塔问题】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、题目描述

【面试题08.06.汉诺塔问题】,算法,leetcode

二、算法原理

【面试题08.06.汉诺塔问题】,算法,leetcode文章来源地址https://www.toymoban.com/news/detail-714413.html

三、代码实现

class Solution {
public:
    void hanota(vector<int>& A, vector<int>& B, vector<int>& C) 
    {
        int n=A.size();
        _hanota(n,A,B,C);
    }

    void _hanota(int n,vector<int>& A,vector<int>& B,vector<int>& C)
    {
        if(n==1)
        {
            C.push_back(A.back());
            A.pop_back();
            return;
        }
        _hanota(n-1,A,C,B);
        C.push_back(A.back());
        A.pop_back();
        _hanota(n-1,B,A,C);
        return;
    }
};

到了这里,关于【面试题08.06.汉诺塔问题】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 经典递归算法——汉诺塔问题

             相传在古印度圣庙中,有一种被称为汉诺塔(Hanoi)的游戏。该游戏是在一块铜板装置上,有三根杆(编号A、B、C),在A杆自下而上、由大到小按顺序放置64个金盘(如图1)。游戏的目标:把A杆上的金盘全部移到C杆上,并仍保持原有顺序叠好。操作规则:每次只能移动

    2024年02月06日
    浏览(41)
  • 经典算法-----汉诺塔问题

    今天我们学习一个老经典的问题-----汉诺塔问题,可能在学习编程之前我们就听说过这个问题,那这里我们如何去通过编程的方式去解决这么一个问题呢?下面接着看。 问题描述 这里是引用汉诺塔问题源自印度一个古老的传说,印度教的“创造之神”梵天创造世界时做了 3

    2024年02月07日
    浏览(37)
  • LeetCode 面试题 01.08. 零矩阵

      编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。   点击此处跳转题目。 示例 1: 输入: [ [1,1,1], [1,0,1], [1,1,1] ] 输出: [ [1,0,1], [0,0,0], [1,0,1] ] 示例 2: 输入: [ [0,1,2,0], [3,4,5,2], [1,3,1,5] ] 输出: [ [0,0,0,0], [0,4,5,0], [0,3,1,0] ]   此题有很多方法解,

    2024年02月11日
    浏览(40)
  • LeetCode 面试题 02.08. 环路检测

      给定一个链表,如果它是有环链表,实现一个算法返回环路的开头节点。若环不存在,请返回 null 。   如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索

    2024年02月10日
    浏览(34)
  • LeetCode 面试题 16.06. 最小差

      给定两个整数数组 a 和 b ,计算具有最小差绝对值的一对数值(每个数组中取一个值),并返回该对数值的差 示例: 输入:{1, 3, 15, 11, 2}, {23, 127, 235, 19, 8} 输出:3,即数值对(11, 8) 提示: 1 = a.length, b.length = 100000 -2147483648 = a[i], b[i] = 2147483647 正确结果在区间 [0, 2147483647

    2024年02月08日
    浏览(30)
  • LeetCode 面试题 04.08. 首个共同祖先

      设计并实现一个算法,找出二叉树中某两个节点的第一个共同祖先。不得将其他的节点存储在另外的数据结构中。注意:这不一定是二叉搜索树。   例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]   点击此处跳转题目。 示例 1: 输入: root = [3,5,1,6,2,0,8,null,null,7,

    2024年02月08日
    浏览(37)
  • LeetCode 面试题 16.08. 整数的英语表示

      给定一个整数,打印该整数的英文描述。 示例 1: 输入: 123 输出: “One Hundred Twenty Three” 示例 2: 输入: 12345 输出: “Twelve Thousand Three Hundred Forty Five” 示例 3: 输入: 1234567 输出: “One Million Two Hundred Thirty Four Thousand Five Hundred Sixty Seven” 示例 4: 输入: 1234567891 输出: “One Billi

    2024年02月06日
    浏览(31)
  • LeetCode 面试题 17.08 —— 马戏团人塔

    首先,我们对人的身高按照从小到大排序, 特别注意,对于身高相等的人,要按照体重从高到低排序 。这时候,序列已经满足了在上面的人要比下面的人矮一点,然后,我们只需要保证提取到一个最长的体重的上升子序列即可。这一步骤也就是 LeetCode 300——最长上升子序列

    2024年04月28日
    浏览(28)
  • 【刷题】 leetcode 面试题 01.06 字符串压缩

    来看题目: 根据题目所说,我们需要完成函数书写,保证返回一个相对较小的字符数组: 如果压缩后比原字符串小,则返回压缩字符串,否则返回原字符串。 本思路一步一步操作,逐步完成任务 先确认字符串长度是否小于 2 ,小于直接返回( 因为压缩字符串长度至少是2

    2024年01月24日
    浏览(50)
  • 【每日一题】Leetcode - 面试题 17.08. Circus Tower LCCI

    Leetcode - 面试题 17.08. Circus Tower LCCI Sorting heights to be ascending order and weights to be descending order. dp[i] = j represents person[i] as the bottom of tower, the tower height is amount of j, to calculate the dp[i] we find the maximum of dp[0 ~ (i-1)] what the person[0 ~ (i-1)] shorter and lighter than person[i], increase it of one, it’s th

    2024年02月13日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包