Scala 大数据 常用算法收集
发布时间:2020-12-16 09:33:53 所属栏目:安全 来源:网络整理
导读:一:IP转数字,用于比大小,用在求IP段范围中 def ip2Long(ip: String): Long = { val fragments = ip.split("[.]" ) var ipNum = 0L for (i - 0 until fragments.length){ ipNum = fragments(i).toLong | ipNum 8L } ipNum } 二:二分法?查找某一IP段所属范
一:IP转数字,用于比大小,用在求IP段范围中 def ip2Long(ip: String): Long = { val fragments = ip.split("[.]") var ipNum = 0L for (i <- 0 until fragments.length){ ipNum = fragments(i).toLong | ipNum << 8L } ipNum } 二:二分法?查找某一IP段所属范围 def binarySearch(lines: Array[(Long,Long,String)],ip: Long) : Int = { var low = 0 var high = lines.length - 1 while (low <= high) { val middle = (low + high) / 2 if ((ip >= lines(middle)._1) && (ip <= lines(middle)._2)) return middle if (ip < lines(middle)._1) high = middle - 1 else { low = middle + 1 } } -1 } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |