博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
求数组最大数,该数为数组中某两个数相加
阅读量:7308 次
发布时间:2019-06-30

本文共 1932 字,大约阅读时间需要 6 分钟。

题目:

    百度笔试:在一个正整数集合S中,找出一个最大数C,使得C=A+B,其中A和B也是S种的元素。

思想:

    首先,我们将数组从小到大进行快速排序。其次:    1、将最后一个数设为最大数设定为S;    2、用第一个数A和倒数第二个数B相加,如果结果比S大,说明B太大了,那么移动B为倒数第三个数;如果比S小,说明A太小了,移动为A第二个数。如果相等,直接返回A,B;    3、直到AB的索引相遇还找不到结果与S一样的,将S变为倒数第二个数,则跳转至1操作。

代码:

#include"iostream"#include 
using namespace std;void FindNumber(int intArray[],int length,int &Max,int &n1,int &n2){ for(;length>2;length--) { int tagert=intArray[length-1];//目标S,设定为最大的数 int front=0,end=length-2; int temp=0; while(front!=end) { temp=intArray[front]+intArray[end];//A=intArray[front],B=intArray[end]; if(temp
intArray[length-1]) end--; else {Max=intArray[length-1];n1=intArray[front];n2=intArray[end];return;} } }}int _tmain(int argc, _TCHAR* argv[]){ int intArray[10]={8, 5, 7, 4, 3, 10, 7, 29, 54, 16}; int max=0,n1=0,n2=0; sort(intArray,intArray+10); FindNumber(intArray,10,max,n1,n2); if(max)//max非0表示完成搜索 cout<
<<"="<
<<"+"<
<

加:#include <algorithm>中 sort()的使用

       void sort( iterator start, iterator end );       void sort( iterator start, iterator end, StrictWeakOrdering cmp );

     可以用来实现vector,string或者数组的排序。这里需要#include"functional",functional提供了一堆基于模板的比较函数对象:equal_to<Type>、not_equal_to<Type>、greater<Type>、greater_equal<Type>、less<Type>、less_equal<Type>。使用例子如下:

bool cmp(int a,int b){return a>b;}//降序排列,如果改为return a
());//升序sort(intArray,intArray+10,cmp);//降序sort(intArray,intArray+10,less
());//降序vector
intVector(10,12);sort(intVector.begin(),intVector.end());//升序sort(intVector.begin(),intVector.end(),greater
());//升序sort(intVector.begin(),intVector.end(),cmp);//降序sort(intVector.begin(),intVector.end(),less
());//降序string s("ABCDEFG");sort(s.begin(),s.end());//升序sort(s.begin(),s.end(),greater
());//升序sort(s.rbegin(),s.rend());//反向迭代器完成,降序sort(s.begin(),s.end(),less
());//降序

部分参考自           

转载于:https://www.cnblogs.com/engineerLF/p/5393129.html

你可能感兴趣的文章
springboot 统一异常处理(包含统一数据校验)
查看>>
Node.js 工具模块
查看>>
闲得无聊?不如用Python设计一个经典小游戏
查看>>
50年以后人工智能将会超越人类大脑,机器控制人类已经成为可能!
查看>>
svnmanager若干bug与漏洞处理
查看>>
一些技术点在其它博客里面的详解
查看>>
MySQL-5.7.18
查看>>
OSChina 周三乱弹 ——程序员祭天传统的真相!
查看>>
OSChina 周日乱弹 ——颜值和代码水平是正比
查看>>
mingw下编译pycrypto出现-mno-cygwin错误
查看>>
NIO非阻塞网络IO-TCP
查看>>
PyConChina2015 大会简介
查看>>
gevent实现端口转发
查看>>
coreData生成实体类编译报错
查看>>
java BigDecimal 计算误差问题(已解决)
查看>>
Android学习笔记之多线程
查看>>
大数据,入行恰逢其时
查看>>
如何通过BIPlatform完成计算指标的配置
查看>>
Circular view path [index]: would dispatch back to the current handler URL [/index] again.
查看>>
两次hbase丢失数据的故障及原因分析--hbase split过程
查看>>