做二分时,要考虑细节问题,比如While中的终止问题,我们是使用left<right 还是 left<=right,而终止问题又与mid有关,一般mid使用地板除法 mid = (left+right)/2 || (right - left)/2+left; 故而left一般会与目标值相近,则返回left,此时left = mid+1 而right = mid ,左闭右开的方式牢牢套住目标值。排序问题的搜索首先想到二分法!!!
做二分时,要考虑细节问题,比如While中的终止问题,我们是使用left<right 还是 left<=right,而终止问题又与mid有关,一般mid使用地板除法 mid = (left+right)/2 || (right - left)/2+left; 故而left一般会与目标值相近,则返回left,此时left = mid+1 而right = mid ,左闭右开的方式牢牢套住目标值。排序问题的搜索首先想到二分法!!!
本文标题:2021-04-08
本文链接:https://www.haomeiwen.com/subject/zsnmkltx.html
网友评论