博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微软面试题:求整数随机数构成的数组中找到长度大于=3的最长的等差数列
阅读量:6894 次
发布时间:2019-06-27

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

求微软面试题:求整数随机数构成的数组中找到长度大于=3的最长的等差数列

输出等差数列由小到大: 

如果没有符合条件的就输出[0,0]

格式:

输入[1,3,0,5,-1,6]

输出[-1,1,3,5]

要求时间复杂度,空间复杂度尽量小

这里我还没有想到更好的办法,目前只实现了一个sb版本的时间复杂度为O(n^3)的算法。。暴力破解。。

 

#include
#include
#include
using namespace std;void main(){ int data[]={1,3,0,5,-1,6}; int length=sizeof(data)/sizeof(int); sort(data,data+length-1); int maxLength=0; int i; int j; vector
max_v; //存放最大的那个队列的元素 vector
temp_v; //临时存放等差数列的元素 bool isChange=false; for(i=0;i
maxLength) { isChange=true; maxLength=temp_length; } } } if(isChange) max_v=temp_v; temp_v.clear(); } } cout<
<
::iterator it_v=max_v.begin(); while(it_v!=max_v.end()) { cout<
<<" "; ++it_v; }}

 

 

你可能感兴趣的文章
Linux文件系统--【文件系统基本单位】
查看>>
创建型模式之二:工厂模式
查看>>
Eclipse调试Java程序的十大技巧 (Top 10 Java Debugging Tips with Eclipse)
查看>>
编程乐趣:C#实现12306自动登录(2013年11月27)
查看>>
Android开发_微信分享功能
查看>>
博客 笔记 网站小计
查看>>
Jedis基本操作(一)
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
《飞机大战》安卓游戏开发源码(四)
查看>>
《飞机大战》安卓游戏开发源码(三)
查看>>
CAS实现单点登录
查看>>
mysql数据双向同步
查看>>
error C2662: “class::MyFunction”: 不能将“this”指针从“const class”转换为“class &”...
查看>>
今天发现的一些优秀的资源网站
查看>>
Java IDE中Access restriction错误的修订
查看>>
我的Linux生涯之nmap扫描工具
查看>>
多线程模式(1):Future模式
查看>>
javaJDialog
查看>>
SpringBoot 普通类获取Spring容器中的bean
查看>>