摘要:
题意:给出一系列数,要求组成AVL树,最后层序输出,并且判断是否为一个完全二叉树要点:这题就是一个AVL树的插入和判断完全二叉树,之前分别都有出现过,AVL树的建立需要记忆。#includeusing namespace std;int cnt=0,n;bool fl... 阅读全文
摘要:
题意:给出先序和后序,要求如果能形成唯一的树就输出yes和中序,如果不能就输出no和任意一个中序思路:这题就是递归建树,根据后序中倒数第二个数到先序中寻找对应的位置,如果后序的倒数第二个数和先序的第二个数相同就说明不唯一,此时选择将其作为右子树。我这题写的时候考虑复杂... 阅读全文
摘要:
题意:找出一条路线,使得对任何给定的起点和终点,可以找出中途经停站最少的路线;如果经停站一样多,则取需要换乘线路次数最少的路线思路:这题就是用dfs+回溯写,我回溯写错了,找到终点的地方回溯了一次,递归回去又回溯了一次,这样就回溯了两次,看别人代码写了一下,这题还有一... 阅读全文
摘要:
题意:根据用户每次点击的东西的编号,输出他在点当前编号之前应该给这个用户推荐的商品的编号,只推荐k个,也就是输出用户曾经点击过的商品编号的最多的前k个,如果恰好两个商品有相同的点击次数,就输出编号较小的那个思路:这题我一开始看就觉得快排肯定要超时,就用选择排序写,结果... 阅读全文
摘要:
题意:给出一棵平衡二叉搜索树的先序序列,要求判断是否为红黑树思路:这题一开始我没意识到红黑树都是平衡二叉搜索树,知道后就先按照先序和中序建树,然后按照红黑树的定义,用递归判断每个节点的左右黑节点的个数即可#include using namespace std;con... 阅读全文
摘要:
题意:给定一棵书的先序遍历和后序遍历,然后找出这棵树后序遍历的第一个元素思路:这题的思路很简单,考虑到只要输出第一个元素,所以若有左子树就递归左子树,如果没有左子树,才找右子树。但这题有个点很怪,都是同样的方法我的代码就超时,找了网上别人写的有的能过有的不能过,下面是... 阅读全文
摘要:
题意:给出一个n表示有n个结点,这n个结点为0~n-1,给出这n个结点的左右孩子,求问这棵树是不是完全二叉树思路:这题就是先建树,找出根结点然后层序遍历,我一开始是把每层的结点数存储下来看是否等于2^i,结果有两个案例没过,看别人的代码有更好的方法,就是记录遍历的个数... 阅读全文
摘要:
题意:求一系列输入的平均值,其中有的输入不合法思路:这题本身就判断一下就行,主要是记录一下sscanf和sprintf的用法:sscanf() – 从一个字符串中读进与指定格式相符的数据sprintf() – 字符串格式化命令,主要功能是把格式化的数据写入某个字符串中... 阅读全文
摘要:
题意:A和B告白,必须通过A的同性朋友和B的同性朋友传达,要求输出所以可能的两个朋友的情况思路:这题有些复杂,我一开始想复杂了,上来就用dfs+回溯做,结果超时,其实只要遍历所有A的朋友和B的朋友,看这两者是否互为朋友即可。不过这题还有很多地方要注意,我还是看别人的代... 阅读全文
摘要:
题意:给出一个序列的数,要求输出所有连续子集的总和思路:这题就是纯粹的数学题,想不到就gg,题意还不明确,给出的序列指的是已经排好序的。基本思路是统计每个数所出现的次数,以该点的位置i,向左有i-1个排序子集,向右有(n-i)个排序子集,左边不能全不用,所以有i种,右... 阅读全文