c语言的一个问题

设计并编写一个C语言函数unsignedcharisldentical(inta[],unsignedintn),判断给定的长度为n的元素各不相同且已按升序排序的数组a中是否存在一个元素等于其索引值,即a[i]=i,如果存在返回1,否则返回0。要求算法的时间复杂度为O(logn)。
蓝山帝景
浏览 406回答 2
2回答

30秒到达战场

正如楼上说的伪代码如下,isldentical用去掉另外一个函数,占且定为isldenticalfun,需要知道开始,结束为位置isldenticalfun(a[],0,n):ifa[n/2]>n/2://说明在你只可能去左边找了returnisldenticalfun(a,0,n/2-1)elseifa[n/2]

ibeautiful

二分法好像可以搞定
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript