- 博客(5)
- 收藏
- 关注
原创 1001 A+B Format——PAT甲级
分析:对a+b的和进行讨论,小于1000直接打印,大于等于1000且小于1000000的数有且仅有一个逗号,因此除以1000输出千位上的数并输出一个逗号,对1000取余得到剩下三位,注意,要以%03d的形式输出余数,因为它的余数一定是三位,就比如1000,要把000输出的;想提醒大家一下:输出的时候一定是从右往左每三位输出一个逗号,不是从左往右,就好比1000000,要输出1,000,000而不是100,000,0。第一次写好多个测试点不过,也不知道是什么问题,不知道有没有人和我一样啊!
2022-09-24 16:25:56 80
原创 03-树2 List Leaves (25 分)
思路:用静态链表(即数组)的方式创建一棵树,但要注意要找到树的根结点,根结点的特性就是没有任何一颗树的孩子会是它,所以用一个数组sig来标记,一开始sig中的元素全为0,对于题目中出现的每个左孩子,右孩子,就把它在sig中对应的元素改为1,那么最后元素仍未0的就是根结点;之后采用层序遍历,将叶结点输出即可。
2022-04-06 16:56:02 99
原创 03-树1 树的同构 (25 分)
用静态链表(即数组)的形式表示两棵树,数组的每一个单元是一个结构,但是题目中没有给出根结点的位置,所以在CreateTree()中,要找到根结点,也很简单,因为是根结点,所以没有一个结点的孩子会是它,则使用一个数组sig来标记,一开始sig中数据全为0,在读取每一个结点时,便把它的孩子在sig中对应的0改为1,最后遍历sig,那么数据还是0的对应的下标就是根结点。随后N行,第i行对应编号第i个结点,给出该结点中存储的1个英文大写字母、其左孩子结点的编号、右孩子结点的编号。而图2就不是同构的。
2022-04-05 14:50:28 141
原创 02-线性结构4 Pop Sequence (25 分)
这个题的关键是每次pop出来的数与之前pop出来的一个数的关系,比如说:pop出来的是2,那么下一个pop出来的数只能是1到6之间的一个数。那这样就简单了,设置两个指针left和right,一开始left = 1,right = N。之后每读一个数,判断它是不是left与right之间的数,不是直接输出NO,是的话就对指针left和right进行调整,right++,而对left = t-1。
2022-04-03 10:35:05 271
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人