最大间隔

#include<iostream>
using namespace std;
int num;//元素个数
//删除一个元素后得到的最大间隔
int maxgap(int arr[])
{
	int maxval=arr[1]-arr[0];
	for (int i=1;i<num-1;i++)
	{
		int tempval=arr[i+1]-arr[i];
		if (tempval>maxval)
		{
			maxval=tempval;
		}
	}
	return maxval;
}
void main()
{
	cin>>num;
	int arr[100];
	int temp[100];
	memset(arr,0,100*sizeof(int));
	memset(temp,0,100*sizeof(int));
	for (int i=0;i<num;i++)
	{
		cin>>arr[i];//1 2 3 7 8
	}

	int mingap=1000;
	for (int j=1;j<num-1;j++)
	{
		int n=0;
		for (int i=0;i<num;i++)
		{
			if (i==j)
			{
				continue;
			}
			else
			{
				temp[n++]=arr[i];//得到删除后的数
			}
		}
		int maxvalue=maxgap(temp);
		if (maxvalue<mingap)
		{
			mingap=maxvalue;
		}
	}
	cout<<mingap<<endl;
}

发布了35 篇原创文章 · 获赞 9 · 访问量 3万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章