![](https://img-blog.csdnimg.cn/20200904155538915.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
简单题
文章平均质量分 67
hover_load
这个作者很懒,什么都没留下…
展开
-
PTA完全二叉树的层序遍历 (25 分)
完全二叉树的层序遍历 (25 分)一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是完美二叉树。对于深度为 D 的,有 N 个结点的二叉树,若其结点对应于相同深度完美二叉树的层序遍历的前 N 个结点,这样的树就是完全二叉树。给定一棵完全二叉树的后序遍历,请你给出这棵树的层序遍历结果。输入格式:输入在第一行中给出正整数 N(≤30),即树中结点个数。第二行给出后序遍历序列,为 N 个不超过 100 的正整数。同一行中所有数字都以空格分隔。输出格式:在一行中输出该树的层序遍历序列。所有数原创 2021-03-22 20:27:59 · 2086 阅读 · 7 评论 -
素数筛(python、C)
一、素数表(筛法)例如想求小于100的所有素数,初始化一个下标直到99的列表,均赋值为1。下标代表数字,值为1/0代表是/否为素数。从2开始,列表里它的倍数都非素数,于是把它们赋值0,不再参与运算。之后是3、5(4、6被2消掉了)、7…以此类推。python:#通过构造素数表,找到小于n的所有素数n=100p=[1]*n#下标代表数字(0,1没用不用管),1/0代表是否为素数for i in range(2,n): if p[i]==1: k=2 whil原创 2020-09-04 13:21:26 · 503 阅读 · 0 评论 -
python解决数塔问题(递归,剪枝,DP)
题目:如图示,以上三角形由一连串的数字构成,求从顶点 2 开始走到最底部的最短路径。每次只能向当前节点下面的两个节点走,如 3 可以向 6 或 5 走,不能直接走到 7。首先我们需要用一个二维数组来表示这个三个角形的节点,用二维数组显然可以做到, 第一行的 2 用 a[0] [0] 表示,第二行元素 3, 4 用 a[1] [0],a[1] [1],依此类推。题是公众号上找的,所以图是拿过来的((公众号上用了三种方法说是做DP的步骤~~(我咋没发现有啥必然的联系。。因为我菜么)~~,这里都用p.原创 2020-08-18 11:15:48 · 1681 阅读 · 1 评论 -
python解决八皇后问题
题目:将八位皇后放在一张8x8的棋盘上,使得每位皇后都无法吃掉别的皇后(即任意两个皇后都不在同一行/列/对角线上),问一共有多少种摆法。(如果两种摆法是可以通过旋转、对称变换变成同一种,那也算两种摆法)棋盘问题也差不多((DFS之类的N=8col=[0]*(N+1)count=0def Queen(i,n,col):#i:准备安排第i位皇后 global count if i>n: for i in range(1,N+1):原创 2020-08-17 09:18:51 · 389 阅读 · 0 评论 -
死亡游戏、猴子选大王——约瑟夫环问题
题目:据说著名犹太历史学家Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而Josephus 和他的朋友并不想遵从。首先从一个人开始,越过k-2个人(因为第一个人已经被越过),并杀掉第k个人。接着,再越过k-1个人,并杀掉第k个人。这个过程沿着圆圈一直进行原创 2020-08-16 09:12:36 · 1400 阅读 · 0 评论 -
自然数分解求最大乘积
题目:把正整数n分解成若干个互不相等的自然数的和,且使这些自然数的乘积最大。请你编写一个算法,由键盘输入n,求满足条件的分解方案。输入: n (3<=n<=1000)输出:乘积分析:如果不探究解析方法而去盲目搜索所有分解方案的话,代价相当大。但其中是有数学规律滴…(这里让正整数是s,分解个数是n哈)s=a1+a2+,⋯ ,+an(1⩽a1<a2<⋯<an)a1+a22⩾a1a2(a1+a2+⋯+ann)⩾a1a2⋯ann, 即 (sn)n⩾a1原创 2020-08-14 10:16:12 · 1363 阅读 · 1 评论