设计一个更优算法查找一n个元素数组中的最大值和最小值

设计一个最优算法来查找一n个元素数组中的最大值和最小值 题目描述 有一个算法,查找n个元素的的数组的最大值和最小值,要比较2n次;请写一个最高效的算法,并说明他要比较的次数。请注意复杂度的常数 (不用写代码,说明步骤和过程即可,要定出比较的次数,没写不给分) 解题思路 先遍历一遍数组,两个两个分成一组,小的放在左边大的放在右边,这样比较次数是N/2。N是数组的长度。然后最小的元素一定是在每组的左边,最大的元素在右边。下一步在左边的所有元素中比较... 阅读详情

题目如题,已知一种需要比较2n次的方法,要求给出一个更优的算法。特别注意优化时间复杂度的常数!

解题思路:原始的方法在遍历数组的时候,每个数组元素都要和Max与Min比较,共比较2n次;可以通过将数组两两分组,用每个分组的最大值与Max进行比较,最小值与Min进行比较来进行优化,这样一来比较次数减少为3n/2。

代码实现如下:

#include <iostream>
#include "limits.h"

using namespace std;

int main() {
	int d[] = {9, 6, 7, 5, 13, 6, 2};
	int n = 8;
	int max = INT_MIN;
	int min = INT_MAX;
	bool flag = false;
	if(n % 2) {
		n--;
		flag = true;		
	}
		
	for(int i = 0; i < n-1; i+=2) {
		if(d[i] <= d[i+1]) {
			if(d[i] < min)
				min = d[i];
			if(d[i+1] > max)
				max = d[i+1];
		}
		else {
			if(d[i] > max)
				max = d[i];
			if(d[i+1] < min)
				min = d[i+1];
		}	
	}
	//若数组长度为奇数,还需要和最后一个数作比较 
	if(flag) {
		if(d[n] < min)
			min = d[n];
		if(d[n] > max)
			max = d[n];	
	}
	cout << "The max value of the array is: " << max << endl;
	cout << "The min value of the array is: " << min << endl;	
} 

算法导论(第9章-中位数和顺序统计学)最大值和最小值 阅读详情

相关推荐

从蓝桥杯ALGO-49题解析寻找数组最大值:算法思维与多语言实现

在计算机科学中,数组遍历是数据处理的基础操作,其核心原理是通过线性扫描逐个访问元素,高效完成信息检索与聚合。这种线性扫描与状态维护的技术范式,是实现数据统计、系统监控和实时分析的关键,具有极高的工程实践价值。无论是数据分析中的最大值统计,还是系统监控中的峰值检测,都离不开对最值查找算法的深入理解。本文以蓝桥杯ALGO-49题为切入点,结合**算法思维**和**多语言实现**,详细拆解了寻找数组最大值及其首次出现位置的标准化流程,并探讨了从基础遍历到高级变体(如同时查找最大最小值、寻找第K大元素)的思维拓展,

weixin_30847865的博客 483

设计一个最优算法来查找n个元素数组中的最大值和最小值

把数组两两一对分组,如果数组元素个数为奇数,就最后单独分一个,然后分别对每一组的两个数比较,把小的放在左边,大的放在右边,这样遍历下来,总共比较的次数是 N/2 次; 在前面分组的基础上,那么可以得到结论,最小值一定在每一组的左边部分找,最大值一定在数组的右边部分找,最大值和最小值的查找分别需要比较N/2 次和N/2 次;这样就可以找到最大值和最小值了,比较的次数为N/2 * 3 = (3N

shuiziliu1025的博客 1万+

利用分治算法求数组的最大元素和最小元素

【问题描述】利用分治算法求一个n运算数组的最大元素和最小元素 【输入形式】输入两行,第一行为一个整数n,第二行为数组的n个元素; 【输出形式】输出两个数,一个是数组最大元素的值,一个是数组最小元素的值,中间用空格隔开 【样例输入】 8 8 3 2 9 7 1 5 4 【样例输出】 9 1 【样例说明】 数组中有8个元素,最大值为9,最小值为1

AIGC 2909

寻找数组中的最大值和最小值

问题来源:《编程之美》2.10 寻找数组中的最大值和最小值 对于一个由N个整数组成的数组,需要比较多少次才能把最大和最小的数找出来呢? 1. 遍历两次数组,分别找出最大值和最小值。需要进行 2 * N 次比较 2. 将数组中的元素分组,按顺序将数组中相邻的两个数分在同一组,用Max和Min来存储最大值和最小值,同一组比较完之后,较小的数与当前的最小值比较,如该数小于当前最小值,更新M

CaryaLiu的专栏 1万+

直击高频编程考点:数组知识及经典算法题总结

数组基础、应用以及编程练习(找到数组 A 元素组成的小于 n的最大整数+两数之和 +三数之和 +最接近的三数之和+移动零 +旋转数组+搜索旋转排序数组 +寻找旋转排序数组中的最小值 +加一 +存在重复元素 +寻找数组的中心索引+翻转对 +只出现一次的数字+合并两个有序数组+合并区间+最大子序列+最长连续递增序列+最长公共前缀+移除元素+除自身以外数组乘积+颜色分类)

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 6万+

Isaacgym使用操作指南

Isaac Gym 是一个强大的仿真工具,特别适合那些需要进行大规模并行仿真和训练的机器人和强化学习任务。通过 GPU 加速、深度学习集成和丰富的物理仿真能力,Isaac Gym 能够显著提高仿真和训练效率,是机器人学和 AI 研究中的一大利器。

Tony Wey的博客 1万+

求数组中n个元素整数的最大值

问题解决:可以找出已知数组中元素的最大值 #include<stdio.h> int main() { int i = 0; int arr[] = { -11,-2,-3,4,5,6,-7,-8,9,-10 }; int max = arr[0]; //这个地方一般不要写int max=0 int sz = sizeof(arr) / sizeof(arr[0]); for (i = 0; i < sz; i++) { if (arr[i] > max)

罗铠威的博客 1517

同花顺 python量化交易_开启量化第一步!同花顺iFinD数据接口免费版简易操作教程...

来源:雪球App,作者: 同花顺-iFinD,(https://xueqiu.com/6706494343/141951051)金融市场波动频繁,投资往往会夹杂非理性的情绪。而量化交易,旨在以先进的数学模型替代人为的主观判断,利用计算机技术从庞大的历史数据中海选能带来超额收益的多种“大概率”事件以制定策略,辅助投资者进行理性投资。不过计算机分析存在一定的技术门槛,有没有简单易学的量化交易方式,能够...

weixin_35911805的博客 2万+

设计一个最优算法来查找一n个元素数组中的最大值和最小值。已知一种需要比较2n次的方法,请给一个更优的算法。

先遍历一遍数组,两个两个分成一组,小的放在左边大的放在右边,这样比较次数是N/2。N是数组的长度。然后最小的元素一定是在每组的左边,最大的元素在右边。下一步在左边的所有元素中比较N/2次产生最小的,在右边的元素中比较N/2次产生最大的。总共需要比较的次数是3*(N/2)次。代码如下 #include #include using namespace std; int main()

Sailor Moon的博客 7079

自动驾驶关键技术(一):时间敏感网络TSN

时间敏感网络TSN的基本概念、协议族介绍和开发流程。

3080

Unity3D实战:5分钟搞定RTSP监控视频播放(附完整代码)

本文提供了一套在Unity3D中快速集成RTSP监控视频播放的实战方案。通过采用LibVLCSharp for Unity这一成熟稳定的跨平台中间件,开发者可以轻松实现RTSP流的解码与渲染,并附有完整的C#代码示例,帮助用户在5分钟内完成集成,适用于智慧园区、安防监控等3D可视化场景。

weixin_29001655的博客 191

c++ list判断是否包含_检查数组中的数字是否连续,你还有其他方案?

简述 给定一个未排序的数字数组,编写一个函数,如果该数组包含连续的数字,则该函数返回true。 * a)如果array为{5,2,3,1,4},则该函数应返回true,因为该数组具有从1到5的连续数字。 * b)如果数组是{83,78,80,81,79,82},则该函数应返回true,因为数组具有从78到83的连续数字。 * c)如果数组为{34,23,52,12,3},则该函数应返回false...

weixin_39922769的博客 913

YOLO26改进 - SPPF模块 | 发论文神器!LSKA注意力改进SPPF,增强多尺度特征提取能力,高效涨点!!!

本文介绍了Large Separable Kernel Attention (LSKA)模块及其在YOLO26中的结合应用。LSKA旨在解决Visual Attention Networks (VAN)使用大内核卷积时的计算效率问题,通过将2D深度卷积层的卷积核分解为级联的水平和垂直1-D卷积核,降低了计算复杂度和内存占用,且使VAN更关注物体形状。我们将集成LSKA的SPPF_LSKA模块引入YOLO26,大量实验表明,改进后的模型在对象识别、检测、分割和稳健性测试上表现出色。

魔改工程师的博客 253

求一个数组中的最大值和最小值的算法改进 php 实现

设计一个最优算法来查找一n个元素数组中的最大值和最小值。已知一种需要比较2n次的方法,请给一个更优的算法。情特别注意优化时间复杂度的常数。 主要思想:把数组两两一对分组,如果数组元素个数为奇数,就最后单独分一个,然后分别对每一组的两个数比较,把小的放在左边,大的放在右边,这样遍历下来,总共比较的次数是 N/2 次;在前面分组的基础上,那么可以得到结论,最小值一定在每一组的左边部分找,最大

u011156212的专栏 3812

【头歌】链栈的基本操作及应用

另外,在算法的开始和结束时,栈都应该是空的,所以匹配到最后还要判断栈是否为空,若空,则说明匹配成功,返回1。其中表达式只包含三种括号,花括号{}、中括号[]、圆括号(),即它仅由 (、)、[、]、{、}六个字符组成。预期输出: 栈中元素依次为:12 47 5 8 6 92 45 63 75 38 4 29 弹出的栈顶元素 e=29 栈空否:0(1:空 0:否) 栈顶元素 e=4 栈的长度为11 清空栈后,栈空否:1(1:空 0:否)// 若栈不空,则用e返回S的栈顶元素,并返回OK;

qq_39977056的博客 4383

一分钟了解OpenSpec (规格)

OpenSpec是由Fission AI开源的轻量级规范驱动开发(SDD, Spec-Driven Development)CLI工具。它专为AI编程助手(如Cursor、Claude Code)设计,核心是**“先约定,后编码”:在AI写代码前,先通过结构化规范文档达成共识,让开发过程可预测、可审计、可协作**。轻量无侵入:单CLI、无依赖、不改造项目、1分钟接入存量友好:增量Spec、不重构旧文档、1→n王者完全可控:每步审查、AI按图施工、零返工协作利器。

h a 6 6 6 c k 为 你解决复杂难题! 2756

算法:无序数组中求最大值最小值

题目:如何在无序数组中求最大值和最小值,要求比较的次数尽可能小 这是面经中的一道面试题,如果单纯的来看这道题,我们采用暴力法遍历一遍,对每一个元素与存储的最大值和最小值进行比较,完全就可以解决这个问题,比较次数为2n。 但是在面试中经常会遇到面试官的追问:会用更好的方法解决这道题么?此时我们可以考虑如果比最大的元素大,也就不用跟最小的元素进行对比了,这样的比较次数会略小于2n。 显然这种思路也过于...

qq_36687189的博客 4115

C#操作MySQL从入门到精通(1)——安装MySQL数据库

我们使用C#操作MySQL数据库第一步要做的就是安装MySQL数据库,本文就是详细讲解如何安装MySQL数据库。

qq_34059233的博客 963

php求一个数组中的最大值和最小值,求一个数组中的最大值和最小值的算法改进 php 实现...

设计一个最优算法来查找一n个元素数组中的最大和最小。已知一种需要比较2n次的方法,请给一个更优的算法。情特别注意优化时间复杂度的常数。 主要思想:把数组两两一对分组,如果数组元素个数为奇数,就最后单独分一个,然后分别对每一组的两个数比较,把小设计一个最优算法来查找一n个元素数组中的最大值和最小值。已知一种需要比较2n次的方法,请给一个更优的算法。情特别注意优化时间复杂度的常数。主要思想:把数组两两...

weixin_35618957的博客 432

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

同时找出数组的最大值和最小值

虽说第一个方法在时间复杂度的分析上比第一个要少n/2,但是我在电脑上测试的结果,运行时间是差不多的。搞不懂~ //朴素算法:分别找出最大值和最小值。2n次比较 #include int A[50000010]; int FIND_MINIMUM_AND_MAXIMUM(int A[],int n) { int min=A[0],max=A[0],i; for(i=1;i<n;i+

yuanjianchuan的专栏 1052

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

查找数组最大最小值

设计一个最优算法来查找一个n个元素数组中的最大值和最小值。一直一种需要比较2n次的方法,请给出一个更优的算法。请特别注意优化时间复杂度的常数。 void fun(int a[], int n) { if (a == NULL) { return; } int max = a[0]; int min = a[0]; int len = (n&1)? n : n-

brucehb的专栏 2989

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

GhostTrack 实用教程:OSINT 位置追踪工具的 IP、手机号与用户名查询全解

拿到一个陌生 IP,想查它落在哪,可以试试 GhostTrack。这是一款免费的开源 OSINT 工具,能在终端里完成位置追踪、手机号运营商查询和用户名足迹检索。 ## 项目速览 GhostTrack 是一个用 Python 编写的开源情报(OSINT)工具,整个项目只有单个脚本 GhostTR.py 和两个依赖库(requests、phonenumbers)。它把四类常用的信息收集动作收进一

gitblog_00952的博客 213

求数组最大最小值[阿里2013校招题目]

设计一个最优算法来查找一n个元素数组中的最大值和最小值。已知一种需要比较2n次的方法,请给一个更优的算法。情特别注意优化时间复杂度的常数。

buptmichael的专栏 590

C++数组求最大值最小值:从OJ 1152到初始化与边界陷阱

在程序设计中,数组是最基础也最重要的数据结构之一,它解决了多数据批量存储与遍历的核心问题。理解数组的定义、下标规则与初始化方式,是写出健壮代码的前提。通过一次循环同时维护最大值和最小值,能够显著降低时间复杂度,这也是竞赛编程中常见的状态维护技巧。数组还广泛应用于去重、二维表格处理、字符存储等场景,甚至可扩展为结构体数组或动态数组vector以应对更复杂的业务需求。然而,数组的边界越界、未初始化导致的随机值、最大值初始值错误等问题,常常让初学者在OJ评测中遭遇RE或WA。本文以东方博宜OJ 1152求n个数的

weixin_30843121的博客 229

求最大最小值,最少要进行多少次比较? | 经典面试题

如何从n个数里找到最大值?很容易想到,用一个循环就能搞定。int find_max(int arr[n]){ int max = -infinite; for(int i=0...

shenjian58的博客 3222

【面试题-编程】查找数组中差值最大的两个数

题目:书写一个函数,实现查找一个数组中右边减左边的差最大的两个数。右边是指当前数组右边的所有数。 思路一:最开始想到的就是循环整个数组,拿右边的所有数字减去当前位置的数,然后记录最大差值的两个数。时间复杂度O(N*N) 思路二:最大差值可以通过拿当前的数减去它左边的最小的数中最大的那个值。时间复杂度O(N) 思路二的函数: template void FindMaxDifference2

学习,记录,总结 的专栏 6909
上一篇: 遍历数组一遍求方差
下一篇: 最小三元组距离
coobj2008
博客等级 码龄17年 49粉丝 165原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值