解题:返回数组中的数值起、止位置 [难度中] - 小组 - 伯乐在线
对于一组排列完毕的数组,找出所给数值的起始和结束位置。算法时间复杂度为O(log n).
示例:
数组 [5, 7, 7, 8, 8, 10] ,数值 8 返回 [3, 4]
思路:
1、先用二分法找出在区间内的某一个值,只要存在即可无论是哪个位置,继而再向左向右寻找,找出极限点。此时注意停止条件。
2、递归调用。但必须注意停止条件,这与一般的二分法不同,条件很难相处,还是颇有难度。
Read full article from 解题:返回数组中的数值起、止位置 [难度中] - 小组 - 伯乐在线
No comments:
Post a Comment