假设我有一个连续数据和连续空值的数组,例如:
0、3、1、2、空、空、空
如何使用二分查找思想找到第一个空元素的索引?
最佳答案
与常规二分搜索相同,仅将 NULL 视为无穷大(max int),将其他所有内容视为值 0。这样数组看起来像
0, 0, 0, 0, MAX_INT, MAX_INT, MAX_INT
此时对第一个 MAX_INT 运行正常的二分搜索
关于algorithm - 如何使用二分查找查找数组中的第一个非空元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16623354/