关于排名查询mle问题
查看原帖
关于排名查询mle问题
195401
noi_teacher楼主2021/4/27 11:19
int find_rank(int x,int g){
	if(g==0) return 0;//什么时候会出现这种情况,要查的数不在集合??? 
	if(x==tr[g].v) return tr[tr[g].l].size;
	if(x<tr[g].v) return find_rank(x,tr[g].l);
	return find_rank(x,tr[g].r)+tr[tr[g].l].size+tr[g].cnt;
}

rt:if(g==0) return 0;这句判断不写会mle...

如果查询的数都是集合内的, if(g==0) return 0;这句判断是否有必要呢?如果查询的数不是集合内的,返回是没查到(比如-1)还是什么呢????

2021/4/27 11:19
加载中...