美文网首页
寻找最小绝对值

寻找最小绝对值

作者: lintong | 来源:发表于2015-02-13 11:22 被阅读29次

一组有序数(从小到大排列),有负有正,找出绝对值最小值

#include <stdio.h>
#include <vector>
using namespace std;

static int GetMin(const vector<int> &data, int begin, int end){
 //循环到只剩下两个相邻数字,或者整个序列都是相同符号
   if(end - begin == 1 || data[begin] * data[end] >= 0){
      return abs(data[end]) > abs(data[begin]) ? data[begin] : data[end];
   }

   int k = (begin + end) / 2;
   //对异号的序列查找
   if(data[begin] * data[k] > 0){
     return GetMin(data, k, end);
   }
   return GetMin(data, begin, k);
}

int FindAbsMin(const vector<int> &data){
   int m = GetMin(data, 0, data.size() - 1);
   printf("%d", m);
   return m;
}
int main(){
   vector<int> data;
   int Num[] = {-4,-3,-2,-1};
   for(int i = 0; i < sizeof(Num) / sizeof(Num[0]); ++i){
     data.push_back(Num[i]);
   }
   FindAbsMin(data);
 return 0;

}

相关文章

  • 寻找最小绝对值

    一组有序数(从小到大排列),有负有正,找出绝对值最小值

  • L1和L2损失函数与正则的区别

    作为损失函数:L1 也被称为最小绝对值偏差(LAD),最小绝对值误差(LAE)。它是使目标值与预测值的绝对值总和最...

  • Excel函数

    1.计算 Abs (number) //绝对值 Max (range) //最大 Min (range) /最小 ...

  • 2018-08-17 数字函数

    abs()求绝对值 ceil()取小于这个数的最小整数 floor()取大于这个数的最小整数 round(参数1,...

  • python中的内置函数-按照类别分析

    一、数学相关 1、绝对值:abs(x)对x求绝对值 2、最大最小值:max([1,2,3])、min([1,2,3...

  • leetcode-Array篇easy难度之最小距离对

    关键词 绝对值,最小距离 题目描述 https://leetcode.com/problems/minimum-a...

  • 绝对值计算

    问题 如何找出列表中绝对值最大与最小的那个数 解决方案 首先把列表中的元素的绝对值求出来,然后再用Python的内...

  • MySQL数学函数

    ABS(x) 返回x的绝对值 CEIL(x), CEILING(x) 返回大于或等于x的最小整数 FLOOR(x)...

  • ios中常用math函数

    一、取整 二、取绝对值 三、取余 四、求最大值和最小值 五、示例

  • js数值方法

    Math方法 绝对值 获取x的绝对值 取整 对数值x四舍五入取整 对数值x向上取整,返回大于x的最小整数 对数值x...

网友评论

      本文标题:寻找最小绝对值

      本文链接:https://www.haomeiwen.com/subject/imisxttx.html