北大百练oj机试练习
ZRJMoon
这个作者很懒,什么都没留下…
展开
-
北大百练oj题解:2299
考察了利用归并排序求逆序数(冒泡时间复杂度太长)#include <iostream>using namespace std;long long int num=0;const int inf=1000000000;//注意可以用来定义infvoid Merge(int s[],int p,int q,int r){ int n1=q-p+1,n2=r-q;...原创 2018-04-23 21:41:01 · 1151 阅读 · 0 评论 -
北大oj题解:2406
考察对KMP算法中next数组的理解: 1> 对于未改良的next数组,next[j]=k表示的是在串str中str[j]之前str[0…k-1]=str[j-k…j-1],但是在寻找相等的字符数目时,不包括第一个字符,即对于aaaa,next[3]=2,k代表的是若当前字符不匹配,则应从str[k]开始下一次检查。 对于本题,若所给字符串下标为0…len-1,则求next[len]...原创 2018-04-24 19:08:58 · 402 阅读 · 0 评论 -
北大oj题解:2255
根据二叉树的前序和中序写出后序: 二叉树比较适合用递归的方法,按照需要分别处理根节点和左右子树,前序串的特点是第一个字符代表的都是该树的根节点,中序串的特点是左右子树分别位于根节点的两侧(同理,后序串的特点是最后一个字符代表根节点),先处理左右子树最后访问根节点可得后序串。#include <iostream>#include <cstring>using na...原创 2018-04-24 22:35:56 · 241 阅读 · 0 评论 -
北大百练oj题解:1007
#include <iostream>#include <string>#include <stdlib.h>#include <stdio.h>using namespace std;struct st{ char c[50]; int coun=0;};void Merge(st s[100],int p,int q...原创 2018-04-21 20:26:25 · 755 阅读 · 0 评论