求最大值最小值的方法 时间复杂度O(n)
#include<iostream>
#include <iostream>
#include <bitset>
#include <ctime>
using namespace std; template <size_t UpperBound> class Urand{ //生成随机数
bitset<UpperBound> used;
public:
Urand(){ srand(time(0)); }
double operator() ();
}; template<size_t UpperBound>
inline double Urand<UpperBound>::operator()()
{
if(used.count() == UpperBound)
used.reset();
size_t newval;
while(used[newval = rand() % UpperBound])
;
used[newval] = true;
return newval*0.1;
} int main(int argc, char* argv[])
{
Urand<10> u;
double darr[10];
double first = 0.0;
double second = 0.0;
double min = 0.0;
double max = 0.0;
for ( int i = 0; i < 10; ++i)
{
darr[i] = u();
} int num = sizeof(darr)/sizeof(darr[0]);
bool flag = false; if( num%2==0 )
{
flag = true;
}
else
{
flag = false;
} if(flag)
{
int i= 0;
first = darr[0];
second = darr[1];
if(first<second)
{
min = first;
max = second;
}
else
{
min = second;
max = first;
}
}
else
{
min = darr[0];
max = darr[0];
} for( flag? i=2 : i=1; i<num; i+=2 )
{
if( darr[i]<darr[i+1] )
{
if( min>darr[i] )
{
min = darr[i];
}
if( max<darr[i+1] )
{
max = darr[i+1];
}
}
else
{
if( min>darr[i+1] )
{
min = darr[i+1];
}
if( max<darr[i])
{
max = darr[i];
} }
} cout<<"Max :"<<max<<endl;
cout<<"Min :"<<min<<endl;
return 0;
}
求最大值最小值的方法 时间复杂度O(n)的更多相关文章
- html标签内部简单加js  一维数组求最大值  最小值两个值位置和数字金字塔图形
		
html标签内部,简单加js <a href=""></a><!DOCTYPE html PUBLIC "-//W3C//DTD XHTM ...
 - C++数组或vector求最大值最小值
		
可以用max_element()及min_element()函数,二者返回的都是迭代器或指针. 头文件:#include<algorithm> 1.求数组的最大值或最小值 1)vector ...
 - js求最大值最小值
		
比较数组中数值的大小是比较常见的操作,比较大小的方法有多种,比如可以使用自带的sort()函数,代码如下: <html> <head> <meta charset=&qu ...
 - java求最大值以及定义方法调用
		
class ArrayDome { public static void main(String[] args) { int[] arr = {-12,-51,-12,-11}; int max = ...
 - Tunnel Warfare (区间合并|最大值最小值巧妙方法)
		
Tunnel Warfare http://acm.hdu.edu.cn/showproblem.php?pid=1540 Time Limit: 4000/2000 MS (Java/Others) ...
 - Day_11【集合】扩展案例5_对list集合对象中的元素进行反转,求最大值最小值,求元素i在list集合中首次出现的索引,将oldvalue替换为newvalue
		
分析以下需求,并用代码实现 定义MyArrays工具类,该工具类中有以下方法,方法描述如下: 1.public static void reverse(ArrayList<Integer> ...
 - C++中Vector求最大值最小值
		
vector<int> v: 最大值: int max = *max_element(v.begin(),v.end()); 最小值: int min = *min_element(v.b ...
 - 【C++】Vector求最大值最小值
		
最大值: int max = *max_element(v.begin(),v.end()); 最小值: int min = *min_element(v.begin(),v.end());
 - MapReduce求最大值最小值问题
		
import java.io.File; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import ...
 
随机推荐
- English - 英语中的时间表达法,这里全啦!
 - DIR - matlab函数
			
DIR List directory. DIR directory_name lists the files in a directory. Pathnames and wildcards may b ...
 - ORACLE  case when then
			
Oracle CASE WHEN 用法介绍 1. CASE WHEN 表达式有两种形式 --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ...
 - WCF契约之---服务契约 、数据契约、 消息契约
			
本篇博文只是简单说下WCF中的契约的种类.作用以及一些简单的代码示例.在WCF中契约分为服务契约.数据契约和消息契约.下面对这几种契约进行简单的介绍. 服务契约 服务契约描述了暴露给外部的类型(接口或 ...
 - 数组求最大最小值和排序java实现
			
public class ArrayDemo05 { public static void main(String[] args) { int list01[]={67,89,87,69,90 ...
 - codeforces 292E. Copying Data   线段树
			
题目链接 给两个长度为n的数组, 两种操作. 第一种, 给出x, y, k, 将a[x, x+k-1]这一段复制到b[y, y+k-1]. 第二种, 给出x, 输出b[x]的值. 线段树区间更新单点查 ...
 - codeforces 630P. Area of a Star
			
题目链接 圆上n个点等距离分布, 求构成的星星的面积. 我们可以求三角形OAB的面积, ∠CAE = 1/2 ∠ COE = PI/n, 那么∠CAO = PI/2n, ∠AOB非常好求, 就是PI/ ...
 - 服务器响应HTTP请求状态码(转)
			
当服务器响应HTTP请求时,其状态行的信息为HTTP的版本号,状态码,及解释状态码的简单说明: 1.客户方错误: 100 客户必须继续发出请求 101 客户要求服务器根据请求转换HTTP协议版本 2. ...
 - [Java]使用队列求解josephus问题
			
约瑟夫斯问题(有时也称为约瑟夫斯置换),是一个出现在计算机科学和数学中的问题.在计算机编程的算法中,类似问题又称为约瑟夫环. 有个囚犯站成一个圆圈,准备处决.首先从一个人开始,越过个人(因为第一个人已 ...
 - Android 优化性能之 如何避免--过度绘制
			
可能有些人不明白什么是过度绘制,简单言,我们app一个页面所显示的效果是由像素一帧一帧绘制而成.过度绘制就是意味着这一帧被绘制多次.如果是静态的布局,可能影响不是很大,如果是动态的,比如ListVie ...