卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章34850本站已运行393

sort 包中的二分查找

sort 包中的二分查找

php小编草莓在这篇文章中将向大家介绍sort包中的二分查找算法。二分查找是一种高效的查找算法,它适用于有序数组中查找特定元素的场景。通过将数组不断分成两部分,并与目标元素进行比较,我们可以快速确定目标元素的位置。这种算法的时间复杂度为O(log n),比线性查找更加高效。在本文中,我们将详细讲解二分查找算法的实现原理和步骤,帮助大家更好地理解和应用这一算法。

问题内容

我正在Go sort包中查看这个函数“func SearchInts(a []int, x int) int,并且好奇是否有一种直接的方法来识别切片中是否存在元素?

在 Java Arrays.binarySearch(..) 中,仅返回负值。我很好奇 golang 的 api func SearchInts(a []int, x int) 是否报告 x 不存在?不知道为什么 func SearchInts(a []int, x int) 不返回两个值 (index,isPresent)

解决方法

您可以简单地检查:

i := sort.SearchInts(slice, value)
if i<len(slice) && slice[i]==value {
   // It exists
}
卓越飞翔博客
上一篇: 仅使用公共 api 对 alexedwards/scs 进行简单测试
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏