用递规与分治策略,找出数组中最大元素的位置。就问题本身而言,很简单,并且有很多种更高效的实现方法,
本文意在介绍递规与分治的思想。
源代码:
/**
*用分治法找出数组中最大元素的位置
*/
public class MaxPosition
{
static int MaxElePosition(int[] a, int l,int r)
{
if(l < r)
{
int mid = (l+r)/2;
int x = MaxElePosition(a, l, mid);
int y = MaxElePosition(a, mid+1, r);
if(a[x] >= a[y])
return x;
else return y;
}
return l;
}
public static void main(String[] args)
{
int a[] = {12,48,45,2,100,9,56,10,101};
System.out.println(MaxElePosition(a, 0, 8));
}
}