诚心请教"小于某个数的最大值"算法
需求是这样的: 假设我从html的正文里面取50个字, 然后求高度, 然后判断这个高度是否是小于一个定值(比如800)的最大值! 如果是, 这个50就是我要的结果!
最简单最笨的方法是,从头到尾一个一个取, 然后遍历判断! 比如我先从html里面取1个字求高度, 比较是否大于800, 不大于就取2个字取高度再比较..(一次加1)...循环...直到取到第321个字后高度刚好第一次大于800, 那么321-1就是我要的结果, html里面320个字的高度就是小于800的最大值!
这个方法笨拙,速度超级慢! 所以在此请教各位了!
我想过用折半查找来实现, 不过这个判断条件不好加呀!
比如我定死 min=0, max=5000, 然后 middle = min + ((max-min)/2);
然后一般的折半查找都是判断这个 middle 是否等于某个数来判定! 我这个吧, 从html取文字求的高度不一定刚刚好等于这个800, 只要是小于800的最大值就ok, 所以这个条件大于也不是, 小于也不是!
可能也是我数据结构没学好, 呵呵! 或许折半就可以实现, 等待各位的建议和帮助! 请教了!!!