指定数字在数组中第一次出现的位置

原创 2015年07月06日 20:14:13
/**
 * 给定一个数组,其中相邻元素的差为1,给定一个数字,返回其下标
 * @author chen
 *跳跃搜索法:从数组第一个元素开始,把数组当前位置的值与t进行比较,如果相等,返回数组下标,
 *否则,从数组下标i+=t-arr[i]处继续查找。
 */
public class findIndex {
	public static int findIndex(int arr[],int t){
		if(arr==null)
			return -1;
		int i=0;
		while(i<arr.length){
			if(arr[i]==t)
				return i;
			else
				i+=Math.abs(t-arr[i]);
		}
		return -1;
	}
	public static void main(String[] args) {
		int arr[]={3,4,5,6,5,6,7,8,9,8};
		System.out.println(findIndex(arr, 9));
	}
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

找出数组中某个元素第一次出现的位置

Given a sorted array, write a function to search first occurrence of a number in the array. If not f...

Java数组-二分查找法用于元素插入有序数组,并获取元素插入的位置

/* 对折半查找法的扩展应用 面试题: 给定一个有序的数组,如果往该数组中存储一个元素,并保证这个数组还是有序的, 那么该元素的存储的角标为如何获取。 */ class  InsertToArra...

java,查找数组中指定元素第一次出现的索引值。

/* * 查找数组中指定元素第一次出现的索引值。 int[] arr = {98,23,16,35,72}; 查找23在数组中的索引值。 */ public class ShuZu {...

算法题:求一个数在数组中出现的位置

//有一个int型数组,每两个相邻的数之间的差值不是1就是 //- 1.现在给定一个数,要求查找这个数在数组中的位置。 #include using namespace std; void Gri...

每日微软面试题——day 7(找数组中唯一出现两次的数)

题:假设你有一个用1001个整数组成的数组,这些整数是任意排列的,但是你知道所有的整数都在1到1000(包括1000)之间。此外,除一个数字出现两次外,其他所有数字只出现一次。假设你只能对这个数组做一...

python 字符串第n次出现的位置

def findSubStr01(substr, str): i=1 while i > 0: index = str.find(substr) #第一次出现的位置...

在一个类中编写一个方法,这个方法搜索一个字符数组中是否存在某个字符,如果存在,则返回这个字符在字符数组中第一次出现的位置(序号从0开始计算),否则,返回-1。要搜索的字符数组和字符都以参数形式传递传递

在一个类中编写一个方法,这个方法搜索一个字符数组中是否存在某个字符,如果存在,则返回这个字符在字符数组中第一次出现的位置(序号从0开始计算),否则,返回-1。要搜索的字符数组和字符都以参数形式传递传递...

二分查找拓展,查找指定数字第一次出现和最后出现

二分查找大家都知道,但是二分查找第一次出现和最后出现不一定都会,仍然使用二分的思想,并且时间复杂度还是O(logn),与普通二分不同的是,在查找到匹配数字后,并不是马上返回,继续查找,直到最后只剩下一...
  • lxmky
  • lxmky
  • 2012-06-17 16:18
  • 1709
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)