题目描述:
给定一个数组,数组中含有重复的元素,给出两个数x和Y在数组中出现位置的最小距离。
思路:
每次遇到x或者y,记录当前值,并且距离计算开始,当下一次遇见两者中的一个进行比较,如果是前面遇到的,则距离计算清空,否则和记录的最小距离进行比较,存储较小值。时间复杂度O(n).
代码如下:
public class Test09 {
/**
* 得到数组之间的两个指定数字之间的最小距离,数字有重复
* @param a
* @param x
* @param y
* @return
*/
public static int getMinDistance(int a[],int x,int y){
//记录x与y之间的最小距离
int minDistance=Integer.MAX_VALUE;