最大间隙问题。给定 n 个实数,求这n个实数在数轴上相邻2个数之间的最大差值,设计解最大间隙问题的线性时间算法。
2016-12-26 23:05
363 查看
问题描述
最大间隙问题。给定 n 个实数,求这n个实数在数轴上相邻2个数之间的最大差值,设计解最大间隙问题的线性时间算法。
input
5
3 2
5 10 45
output
30
最大间隙问题。给定 n 个实数,求这n个实数在数轴上相邻2个数之间的最大差值,设计解最大间隙问题的线性时间算法。
input
5
3 2
5 10 45
output
30
#include<stdio.h> #include<stdlib.h> int main() { int n,i,*a; printf("input the number of the numbers\n"); scanf("%d",&n); a=(int *)malloc(n*sizeof(int)); printf("input the numbers\n"); for(i=0;i<n;i++) { scanf("%d",&a[i]); } //int tag ,low[count],high[count],temp=0,index; int count=n-2+1; int *tag=(int*)malloc(sizeof(int)*count); int *low=(int*)malloc(sizeof(int)*count); int *high=(int*)malloc(sizeof(int)*count); int min=a[0],max=a[0],index,temp=0; for(i=0;i<n;i++) { min=min<a[i]?min:a[i]; max=max>a[i]?max:a[i]; } for(i=0;i<count;i++) { tag[i]=0; low[i]=max; high[i]=min; } low[0]=min; tag[0]++; high[count-1]=max; tag[count-1]++; int distance=(max-min)/count; for(i=0;i<n;i++) { index=(a[i]-min)/distance; low[index]=low[index]<a[i]?low[index]:a[i]; high[index]=high[index]>a[i]?high[index]:a[i]; tag[index]++; } int left=high[0]; for(i=0;i<count;i++) { if(tag[i]!=0) { if(low[i]-left>temp) temp=low[i]-left; left=high[i]; } } for(i=0;i<count;i++) { printf("%d\t",low[i]); } printf("\n"); for(i=0;i<count;i++) { printf("%d\t",high[i]); } printf("\nthe max is %d\n",temp); return 0; }
相关文章推荐
- 最大间隙问题。给定 n 个实数,求这n个实数在数轴上相邻2个数之间的最大差值,设计解最大间隙问题的线性时间算法。
- 大数据面试题求解:给定n个实数 ,求着n个实数在实轴上向量2个数之间的最大差值,要求线性的时间算法(最大间隙问题)
- 线性时间算法解决最大间隙问题
- 阿里巴巴面试算法题目:有无序的实数列V[N],要求求里面大小相邻的实数的差的最大值,关键是要求线性空间和线性时间
- 阿里巴巴面试算法题目:有无序的实数列V[N],要求求里面大小相邻的实数的差的最大值,关键是要求线性空间和线性时间
- 最大间隙问题(线性时间算法)
- 经典算法(3)——最大间隙问题(线性时间算法)
- 最大间隙问题 线性时间算法
- 阿里巴巴面试算法题目:有无序的实数列V[N],要求求里面大小相邻的实数的差的最大值,关键是要求线性空间和线性时间
- 最大间隙问题(线性时间算法)
- 线性时间实现最大间隙问题
- 最大子数组问题---线性时间算法(转)
- 【算法题】求有序数列中相邻数字之间的最大差值
- 算法导论-最大子数组问题-线性时间复杂度算法分析与实现
- 求解最大子序列和问题的线性时间算法
- 有无序的实数列V[N],要求求里面大小相邻的实数的差的最大值,关键是要求线性空间和线性时间。
- 算法导论 4.1-5 最大子数组问题 线性时间算法 C++简单实现
- 有无序的实数列 V[N],要求求里面大小相邻的实数的差的最大值,关键是要求线性空 间和线性时间
- 算法设计:最大间隙问题
- 有无序的实数列V[N],要求求里面大小相邻的实数的差的最大值,关键是要求线性空间和线性时间。