这个题依旧还是二分查找,不同的是可以循环,所以就变成了 如果l这个值等于数组的长度了,那就说明没有找到,我们可以取模一下,这样我们拿到的就是第一个值,从而实现循环拿去字符。
今天写这个二分查找的时候,发现边界值还是很重要的,要不容易产生错误。
一定要想清楚什么情况需要判断和计算,对于一定存在的,while循环中可以不需要等于,但对于这道题来说,就不一定存在,所以这道题就需要对相等的情况再做一次判断。
代码:
https://github.com/hanleirx/LeetCode/blob/master/744.%20%E5%AF%BB%E6%89%BE%E6%AF%94%E7%9B%AE%E6%A0%87%E5%AD%97%E6%AF%8D%E5%A4%A7%E7%9A%84%E6%9C%80%E5%B0%8F%E5%AD%97%E6%AF%8D