特定二分搜索:给定一个有序正整数数组和一个要查找的目标数。要求给出要查找目标数在给定数组中第一次(或最后一次)出现的索引号(数组下标),没有查找到时输出-1。
时间: 2023-06-08 20:03:45 浏览: 144
好的,这是一个技术问题,我可以回答。这个问题可以使用特定的二分搜索算法来解决,时间复杂度为O(log n)。具体实现步骤是,定义左右指针,分别指向数组的头部和尾部,之后计算出中间值,判断目标数与中间值的大小关系,如果目标数小于中间值,则在左半边继续搜索,否则在右半边搜索。直到找到目标数为止,若找不到则返回-1。在查找过程中,可以通过一个变量记录目标数第一次出现的索引号,若要查找最后一次出现的索引号,则需要修改查找策略,具体可参考算法题解。
阅读全文