数组中数值和下标相等的元素
发布日期:2021-05-12 14:28:35 浏览次数:17 分类:精选文章

本文共 436 字,大约阅读时间需要 1 分钟。

题目三:数组中数值和下标相等的元素

假设一个单调递增的数组中的每个元素都是整数并且是唯一的。请编写一个函数,找出数组中任意一个数值等于其下标的元素。

例如:在数组{-3,-1,1,3,5}中,数字3和它的下标相等。

分析:

这一题也可以使用二分查找

C++实现代码如下

int GetNumSameAsIndex(const int* num, int len){	if(num == NULL || len == 0)		return -1;	int left = 0;	int right = len - 1;	while (left <= right)	{		int mid = left + ((left + right) >> 1);		if (num[mid] == mid)			return mid;		if (num[mid] > mid)			right = mid - 1;		else			left = mid + 1;	}	return -1;}

 

上一篇:剑指offer 和为s的两个数
下一篇:0~n-1中缺失的数字

发表评论

最新留言

表示我来过!
[***.240.166.169]2025年04月20日 03时42分06秒