有一个整数数组,请求出两两之差绝对值最小的值
2014-10-01 10:47
323 查看
这个题目其实和那个左边减去右边的差最大那个题目类似,只是这里要多加几个判断,代码如下:
[html] view
plaincopy
// maxAndmin.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std;
int getMax(int a[],int len)
{
int max=a[0];
int maxDiff=0;
int diff=a[0]-a[1];
for (int i=2;i<len;i++)
{
if (a[i-1]>max)
{
max=a[i-1];
}
diff=max-a[i];
if (diff>maxDiff)
{
maxDiff=diff;
}
}
return maxDiff;
}
int getMin(int a[],int len)
{
int min=a[0];
int diff=a[0]-a[1];
if(diff<0)
{
diff=-diff;
}
int minDiff=diff;
for (int i=2;i<len;i++)
{
if (a[i-1]<abs(min))
{
min=a[i-1];
}
diff=min-a[i];
if (diff<0)
{
diff=-diff;
}
if (diff<minDiff)
{
minDiff=diff;
}
}
return minDiff;
}
int _tmain(int argc, _TCHAR* argv[])
{
int a[]={-5,-1,11,6,-2};
int len=sizeof(a)/sizeof(int);
cout<<getMin(a,len);
system("pause");
return 0;
}
[html] view
plaincopy
// maxAndmin.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std;
int getMax(int a[],int len)
{
int max=a[0];
int maxDiff=0;
int diff=a[0]-a[1];
for (int i=2;i<len;i++)
{
if (a[i-1]>max)
{
max=a[i-1];
}
diff=max-a[i];
if (diff>maxDiff)
{
maxDiff=diff;
}
}
return maxDiff;
}
int getMin(int a[],int len)
{
int min=a[0];
int diff=a[0]-a[1];
if(diff<0)
{
diff=-diff;
}
int minDiff=diff;
for (int i=2;i<len;i++)
{
if (a[i-1]<abs(min))
{
min=a[i-1];
}
diff=min-a[i];
if (diff<0)
{
diff=-diff;
}
if (diff<minDiff)
{
minDiff=diff;
}
}
return minDiff;
}
int _tmain(int argc, _TCHAR* argv[])
{
int a[]={-5,-1,11,6,-2};
int len=sizeof(a)/sizeof(int);
cout<<getMin(a,len);
system("pause");
return 0;
}
相关文章推荐
- 有一个整数数组,请求出两两之差绝对值最小的值,记住,只要得出最小值即可,不需要求出是哪两个数
- 有一个整数数组,请求出两两之差绝对值最小的值
- 有一个整数数组,请求出两两之差绝对值最小的值,记住,只要得出最小值即可,不需要求出是哪两个数。
- 有一个整数数组,请求出两两之差绝对值最小的值, 记住,只要得出最小值即可,不需要求出是哪两个数。
- 有一个整数数组,请求出两两之差绝对值最小的值
- 有一个整数数组,请求出两两之差绝对值最小的值
- 有一个整数数组,请求出两两之差绝对值最小的值,记住,只要得出最小值即可,不需要求出是哪两个数。
- 微软面试-101-有一个整数数组,请求出两两之差绝对值最小的值,
- 有一个整数数组,请求出两两之差绝对值最小的值,记住,只要得出最小值即可,不需要求出是哪两个数。 (微软面试题)
- 有一个整数数组,请求出两两之差绝对值最小的值
- 有一个整数数组,请求出两两之差绝对值的最小值
- 有一个整数数组,请求出两两之差绝对值最小的值,记住,只要得出最小值即可,不需要求出是哪两个数。
- 一道面试题:有一个整数数组,请求出两两之差绝对值最小的值,记住,只要得出最小值即可,不需要求出是哪两个数。
- 微软1 有一个整数数组,请求出两两之差绝对值最小的值
- 输入一个整数数组,返回所有元素两两之差绝对值最小的值,O(n)算法
- 有一个整数数组,请求出两两之差最小的值,记住,只要得出最小值即可,不需要求出是哪两个数。
- 求最小绝对值子串、一个整数数组求两两之差绝对值最小值
- 【算法】在整数数组求中出两两之差绝对值最小的值
- 1、有一个整数数组,求出两两只差绝对值最小
- 1、有一个整数数组,求出两两只差绝对值最小