最大間隔

#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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章