N个数中找三个数,使其和的绝对值最小--

原题:

        Write a function to find any subset of 3 integers from a set of N integers that have a sum with the smallest absolute value, and analyze the time and space complexity of your function.

The input to this function is a pointer or reference to an array of integers, along with the value of N.
When
N >= 3, the output is a 3-element array of integers, such that their sum has the smallest absolute value.

When
N < 3, the output is null.


For example, given the following input:

{-99, -66, 0, 2, 3}, your function should return {0, 2, 3}.

 

题意即:

       给定包含N个数的无序数组S(可能包含负数,0,正数)。求三个数A,B,C,使其和的绝对值最小。
       例如:S={-9,0,1,3,6},A=-9,B=3,C=6,MIN=0

 

 

==================================================================

 

 

法一、暴力搜索法,三重循环枚举3个数,时间复杂度为O(N^3),代码如下:

 

 

 

法二、对数组a排序后枚举其中2个数,二分查找另一个数。O(N^2*LOGN)

 

 

法三、对数组a排序后枚举其中1个数cur(a[i]),使用双向指针head、tail从数组两端更新(注意剔除掉cur)。根据a[head]+a[tail]+cur的正负号来更新head或tail。若为负则head++,否则tail--。一旦和为0即退出。同时根据此和来更新MIN。最后MIN即为所求。利用三个变量X,Y,Z记录任一最优解在排序后数组中的下标。该方法最坏的时间复杂度为O(N^2)。先写一个快速排序算法,因此代码如下:

 

 

 

 

 

 

以上方法的主函数如下:

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第一篇 导论 第1章 理经济学的实质 1.1理经济学与非理经济学 1.2理经济学与经济计量学 第2章 经济模型 2.1学模型的构成 2.2实系 2.3集合的概念 2.4关系与函 2.5函的类型 2.6两个或两个以上自变量的函 2.7一般性水平 第二篇 静态(或均衡)分析 第3章 经济学的均衡分析 3.1均衡的含义 3.2局部市场均衡——线性模型 3.3局部市场均衡——非线性模型 3.4一般市场均衡 3.5国民收入分析的均衡 第4章 线性模型与矩阵代 4.1矩阵与向量 4.2矩阵运算 4.3对向量运算的注释 4.4交换律、结合律、分配律 4.5单位矩阵与零矩阵 4.6矩阵的转置与逆 4.7有限马尔可夫链 第5章 线性模型与矩阵代(续) 5.1矩阵非奇异性的条件 5.2用行列式检验非奇异性 5.3行列式的基本性质 5.4逆矩阵 5.5克莱姆法则 5.6克莱姆法则在市场模型和国民收入模型的应用 5.7里昂惕夫投入一产出模型 5.8静态分析的局限性 第三篇 比较静态分析 第6章 比较静态学与导的概念 6.1比较静态学的性质 6.2变化率与导 6.3导与曲线的斜率 6.4极限的概念 6.5关于不等式和绝对值的题外讨论 6.6极限定理 6.7函的连续性与可微性 第7章 导法则及其在比较静态学的应用 7.1一元函导法则 7.2相同变量的两个或两个以上函导法则 7.3包含不同自变量的函导法则 7.4偏微分 7.5导在比较静态分析的应用 7.6雅可比行列式的注释 第8章 一般函模型的比较静态分析 8.1微分 8.2全微分 8.3微分法则 8.4全导 8.5隐函的导 8.6一般函模型的比较静态学 8.7比较静态学的局限性 第四篇 最优化问题 第9章 最优化:一类特殊的均衡分析 9.1最优值与极值 9.2相对极大值和极小值:一阶导检验 9.3二阶及高阶导 9.4二阶导检验 9.5麦克劳林级与泰勒级 9.6一元函相对极值的n阶导检验 第10章 指与对 10.1指的性质 10.2自然指与增长问题 10.3对 10.4对 10.5指与对的导 10.6最优时间安排 10.7指与对的进一步应用 第11章 多于一个选择变量的情况 11.1最优化条件的微分形式 11.2两个变量函的极值 11.3二次型——偏离主题的讨论 11.4.具有多于两个变量的目标函 11.5与函凹性和凸性相关的二阶条件 11.6经济应用 11.7最优化的比较静态方面 第12章 具有约束方程的最优化 12.1约束的影响 12.2稳定值 12.3二阶条件 12.4拟凹性与拟凸性 12.5效用最大化与消费需 12.6齐次函 12.7.投入的最小成本组合 第13章 最优化问题的其他主题 13.1非线性规划和库恩一塔克条件 13.2约束规范 13.3经济应用 13.4非线性规划的充分性定理 135极大值函和包络定理 13.6对偶和包络定理 137一些结论性评论 第五篇 动态分析 第14章 动态经济学与积分学 14.1动态学与积分 14.2不定积分 14.3定积分 14.4广义积分 14.5积分的经济应用 14.6多马增长模型 第15章 连续时间:一阶微分方程 15.1具有常系和常项的一阶线性微分方程 15.2汀场价格的动态学 15.3可变系和可变项 15.4恰当微分方程 15.5一阶一次非线性微分方程 15.6定性图解法 15.7索洛增长模型 第16章 高阶微分方程 16.1具有常系和常项的二阶线性微分方程 16.2复和三角函 16.3复根情况的分析 16.4具有价格预期的市场模型 16.5通货膨胀与失业的相互作用 16.6具有可变项的微分方程 16.7高阶线性微分方程 第17章 离散时间:一阶差分方程 17.1离散时间、差分与差分方程 17.2解一阶差分方程 17.3均衡的动态稳定性 17.4蛛网模型 17.5一个具有存货的市场模型 17.6非线性差分方程——定性图解法 第18章 高阶差分方程 18.1具有常系和常项的二阶线性差分方程 18.2萨缪尔森乘一加速相互作用模型 18.3离散时间条件下的通货膨胀与失业 18.4推广到可变项和高阶方程 第19章 联立微分方程与差分方程 19.1动态方程组的起源 19.2解联立动态方程 19.3动态投入一产出模型 19.4对通货膨胀一失业模型的进一步讨论 19.5双变量相位图 19.6非线性微分方程组的线性化 第20章 最优控制理论 20.1最优控制的特性 20.2其他终止条件 20.3自治问题 20.4经济应用 20.5无限时间跨度 20.6动态分析的局限性 附录I 希腊字母 附录Ⅱ 学符号 附录Ⅲ 主要参考文献 附录Ⅳ 部分习题答案 附录V 索引

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值