输入n,再输入n个数,输出n个数中的最小值和最大值。

分治与递归!

代码:

#include<iostream>using namespace std;

void minmax(int *a,int left,int right,int &min,int &max);int main(){int T;  cin>>T;

do    {int *test,n,min,max;         cin>>n;         test = new int[n];for(int i = 0 ; i != n ; ++i)         cin>>test[i];

         minmax(test,0,n-1,min,max);         cout<<"min="<<min<<endl;         cout<<"max="<<max<<endl;

    }while(--T);

  system("pause");return 0;    }

void minmax(int *a,int left,int right,int &min,int &max){int lmin,lmax,rmin,rmax;if(left == right)//只有一个数    {           min = a[left];           max = a[left];    }else          {if(left == right - 1)//只有两个数      {if(a[left]<a[right])         {           min = a[left]; max = a[right];                             }    else         {           min = a[right]; max = a[left];             }     }else//多余两个数      {int m = (left +right)>>1;//二分中点         minmax(a,left,m,lmin,lmax);//递归求出左边的最小值最大值         minmax(a,m+1,right,rmin,rmax);//递归求出右边的最小值最大值        min = (lmin<rmin)? lmin:rmin;//比较得出最小值         max = (lmax>rmax)? lmax:rmax;//比较得出最大值         }              }

}

转载于:https://www.cnblogs.com/HpuAcmer/archive/2011/12/09/2281431.html

递归求最值(分治递归)相关推荐

  1. 蓝桥杯-递归求二项式系数值(java)

    算法训练 6-1 递归求二项式系数值 时间限制:10.0s 内存限制:256.0MB问题描述样例输入一个满足题目要求的输入范例.3 10样例输出与上面的样例输入对应的输出.数据规模和约定输入数据中每一 ...

  2. 蓝桥杯 ALGO-150 算法训练 6-1 递归求二项式系数值 java版

    问题描述 样例输入 一个满足题目要求的输入范例. 3 10 样例输出 与上面的样例输入对应的输出. 数据规模和约定 输入数据中每一个数的范围. 例:结果在int表示时不会溢出. 简单的递归. impo ...

  3. 求π的值C++--递归求阶乘、浮点数精度控制技巧

    [问题描述] 给定一个精度值e,用下列公式计算π的近似值,要求前后两次π的迭代之差的绝对值小于e,给出相应的最小迭代次 数n和最后一次计算的π的值. π/2=1+1!/3+2!/(3×5)+3!/(3 ...

  4. 算法训练 6-1 递归求二项式系数值

    算法训练 6-1 递归求二项式系数值   问题描述 样例输入 一个满足题目要求的输入范例. 3 10 样例输出 与上面的样例输入对应的输出. 数据规模和约定 输入数据中每一个数的范围. 例:结果在in ...

  5. 函数传参问题,桶排序去重,分治递归,摩尔投票求数组众数,数组中心下标求法

    TIPS 1. 我们都知道,地址,指针这两者是完全等价的概念,但是有微小的差别.地址的话是不能够修改的(比如说数组名++就是违法的),而指针的话可以++与--. 2. 以后一旦在代码里面看到字符cha ...

  6. 顺序表应用7:最大子段和之分治递归法

    Description 给定n(1<=n<=50000)个整数(可能为负数)组成的序列a[1],a[2],a[3],-,a[n],求该序列如a[i]+a[i+1]+-+a[j]的子段和的最 ...

  7. c 最大子序列和_最大子序列和暴力法、分治+递归法、妙法

    你好,我是goldsunC 让我们一起进步吧! 最大子序列和 Question:给定整数(可能有负数),求的最大值(为方便起见,如果所有整数均为负数,则最大子序列和为0). 示例: IN : [-2, ...

  8. 最大子段和之分治递归法

    最大子段和之分治递归法 Time Limit: 10 ms Memory Limit: 400 KiB Problem Description 给定n(1<=n<=50000)个整数(可能 ...

  9. 递归、迭代、分治、回溯、动态规划、贪心算法

    今天就简单来谈谈这几者之间的关联和区别 递归 一句话,我认为递归的本质就是将原问题拆分成具有相同性质的子问题. 递归的特点: 1.子问题拆分方程式,比如:f(n) = f(n-1) * n 2.终止条 ...

最新文章

  1. C语言,获得堆栈增长方向的一种方法
  2. Cpp 对象模型探索 / new 运算符内部调用过程分析
  3. 从晶体管特性曲线看饱和问题(Z)
  4. python后端将svc文件数据读入数据库具体实现
  5. 接口文档要写在概要设计里吗_写代码的五个步骤,你会几个?
  6. 3-2 :eq(index)过滤选择器
  7. phpstudy mysql升级5.7
  8. 寻找不到iframe元素
  9. qscoj:喵哈哈村的狼人杀大战(5)
  10. Http状态代码指示
  11. 2021年计算机保研记录 (中南,南理工,重大软,东华)
  12. 计算机图片颜色是红色怎么办,电脑变色是怎么回事?(有图片)
  13. 深度图像修复的回顾和改进:使用生成对抗网络基于Patch的图像修复
  14. Geek 设计师们疯狂的桌面
  15. gss1_GSS简介:网格样式表
  16. 安卓开发者的 17 年总结
  17. 解决Linux下部署使用JasperReport的项目的错误:net.sf.jasperreports.engine.util.JRFontNotFoundException: Font '宋体' i
  18. 【CTF系列】2021年2月四叶草CTF
  19. 今日早报 每日精选12条新闻简报 每天一分钟 知晓天下事 8月14日
  20. 服务市场前端架构升级

热门文章

  1. Spring Boot 核心配置文件详解
  2. 模型可解释性-贝叶斯方法
  3. Java解码网站post字符串(swich case用法和乱码判断)
  4. centos下实现程序开机自启动(tomcat为例)
  5. 窗口消息——Windows核心编程学习手札之二十六
  6. Pandas简明教程:六、Pandas条件查询
  7. Matlab优化函数中options选项的修改
  8. Java桌面程序打包成exe可执行文件
  9. eclipse的安装使用
  10. Microbit扩展编写