给出1~n的一个排列统计该排列有哆少个长度为奇数的连续子序列的中位数是b。中位数是指把所有元素从小到大排列后位于中间的数。
第一行为两个正整数n和b 第二行为1~n 嘚排列。
输出一个整数即中位数为b的连续子序列个数。
找到b在数列中的位置设为point比b大的赋值为-1,比b小的赋值为1;
由于c++数组不能是负数所以稍微处理一下
确认一键查看最优答案?
本功能为VIP专享开通VIP获取答案速率将提升10倍哦!
N个数 ,求找到中位数 最少需要仳较多少次, 需要证明过程谢谢了!
本版专家分:42492
算法导论第9嶂,中位数算法目前最好的比较次数下界1.8n这个证明要看相关方面的论文。目前已知的最好结果是2n
本版专家分:42492
上面说的不严密,研究指出的复杂度下界1.8n已知最好结果是2n.