本来困得不行了,看到这个题目 忍不住想看,为啥呢
因为高春辉去做了IP服务 为啥关注高春辉呢,因为雷猴王。。。

如何快速定位

我觉得很简单啊,从mysql中查询,或者从redis中查询,
因为一个省份对应的是一个ip区间,表设计 你也只是

ip_start ip_end 地区

redis的话 你可以设计成 list或者hash类型的。
但是查起来平均时间复杂度都是n

插曲|二分查找的变形问题

image.png
二分做的时候就是 在判断等于的时候 判断下周围的元素

那如何用二分优化ip查找呢?

先把IP转成整数排序了。先通过二分查找,找到最后一个起始 IP 小于等于这个 IP 的 IP 区间
当然了找第一个大于的也可以了