- 博客(6)
- 收藏
- 关注
原创 汉诺塔问题
问题描述:有 a,b,c三个柱子(a->b->c 柱子不能移动),n个盘子,盘子有大小且小盘子只能放在大盘子上面,盘子起始位为a柱子,求最少的移动次数,将a上盘子移动到c柱上;解题思路:我们最终得到的是c柱上按大小排好的盘子,即大盘做底小盘做顶;当盘子数为 2 时,直接将大盘移到 c 然后再将小盘移到 c;当盘子数为 3 时,先将 1 ->c 再将 2->b 把c上的1放到b a上的最大盘3放到c 最后依次把b上的盘子移到c 在这个过程中 b柱子起到寄存的作用 ...
2021-11-28 20:02:17
234
原创 while(n--) 运行超时 而 for (int i = 0; i < n; i++) 答案正确
初学时刷题遇到的问题下面是一些个人分析(有误还希望大佬指出)遇到这个问题是因为 误以为 while(n--) 和 for (int i = 0; i < n; i++) 都是执行n次while () 是当括号里面为真时 进行循环体里面的程序 我们都知道计算机当中 非0为真 0 为假当n--为0时while会跳出循环执行循环体的下一条语句如果你的下一条语句会再次返回到这个while循环语句 此时n-- 为负数 负数非0为真 就会陷入死循环从而运行超时for ( 1; 2; 3..
2021-11-22 21:47:57
1208
原创 pta练习 7-1 根据后序和中序遍历输出先序遍历 (25 分)
输入格式:第一行给出正整数N(≤30),是树中结点的个数。随后两行,每行给出N个整数,分别对应后序遍历和中序遍历结果,数字间以空格分隔。题目保证输入正确对应一棵二叉树。输出格式:在一行中输出Preorder: 以及该树的先序遍历结果。数字间有1个空格,行末不得有多余空格。输入样例:72 3 1 5 7 6 41 2 3 4 5 6 7输出样例:Preorder: 4 1 3 2 6 5 7参考程序(也参考了其他博主的方法,仅供学习使用)#include<iostream&
2021-11-11 20:37:16
1358
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人