这题可以得出一个结论是在0到x中间寻找到一个数,这个数的平分且小于等于x。
一想到在一定范围内进行查找的时,我们就可以运用二分查找法来进行缩短时间复杂度。
首先设定范围最低范围为0,最高为x,然后通mid=l+(h-1)/2的方式找到中间值,判断这个值的平法小于等于x,就可以将最低范围调到mid+1。如果大于的话,就将最大范围调到mid—1。
不断进行循环比较,找出最佳的mid赋值给一个数,然后进行返回。判断条件则需要最低范围小于等于最高范围。
这题可以得出一个结论是在0到x中间寻找到一个数,这个数的平分且小于等于x。
一想到在一定范围内进行查找的时,我们就可以运用二分查找法来进行缩短时间复杂度。
首先设定范围最低范围为0,最高为x,然后通mid=l+(h-1)/2的方式找到中间值,判断这个值的平法小于等于x,就可以将最低范围调到mid+1。如果大于的话,就将最大范围调到mid—1。
不断进行循环比较,找出最佳的mid赋值给一个数,然后进行返回。判断条件则需要最低范围小于等于最高范围。