关于最长等差子列的问题
来源:互联网 发布:淘宝客链接后缀缩短 编辑:程序博客网 时间:2024/05/29 08:53
为初学者研究了一天
#include <iostream>
using namespace std;
const int n =7;
void LongSeries (int a[])
{
int aa[n][n];
for (int i = 0; i != n; i++)
{
for (int j = i+1; j != n; j++)
{
aa[i][j] = a[j] - a[i];
}
}
int b[n][n] = {0};
int r = 0;
for (int m =0; m < n-1; m++)
{
for (int j = m+1; j < n; j++)
{
int tmp_row = j,tmp_col=j+1;
while ( (tmp_row< n-1)&&(tmp_col < n) )
{
if(aa[m][j] == aa[tmp_row][tmp_col])
{
tmp_row = tmp_col;
++tmp_col;
++b[m][j];//计数,等差数列的长度
}
else
++tmp_col;
}
}
}
int max = b[0][0];
int maxrow = 0, maxcol = 0;
for (int x = 0; x < n; x++)
{
for (int y =0; y < n; y++)
{
if (b[x][y] > max)
{
max = b[x][y];
maxrow = x;
maxcol = y;
}
}
}
for (int ii = 0; ii != b[maxrow][maxcol]+2; ii++)
{
cout<<a[maxrow]+ii*(aa[maxrow][maxcol])<<'/t';
}
cout<<endl;
}
int main()
{
int a[n]={0};
cout<<"请输入小于100的"<<n<<"个数字:"<<endl;
cin.clear();
for(int i=0; i!=n;++i)
cin>>a[i];
LongSeries (a);
return 0;
}
- 关于最长等差子列的问题
- 最长等差子序列
- 求最长单调递增【等差】子序列
- NOJ 1526 最长等差子序列
- 关于最长公共子序列的问题
- 算法题10 最长等差序列问题
- 关于最长递增子序列问题的求解(LIS)
- 关于最长公共子序列问题的空间优化
- 关于最长上升子序列的问题(LIS)
- 关于寻找两个字符串中最长子序列的问题
- 最长上升子列~
- 最长上升子列
- C++ 关于最长公共子串问题
- C++ 关于最长下降子序列问题
- 最长子列和问题 在线处理法
- 关于等差等比数列乘积求和的分析
- 等差素数列
- 等差素数列
- ping命令详解
- 程序员都是赶时间的艺术家
- 网站开发人员网址导航
- Webkit内核探究【2】——Webkit CSS实现
- OPC学习笔记2
- 关于最长等差子列的问题
- shell bash的基本语法
- TheServerSide网站2009年最热文章
- Objective-C语法快速参考
- Use Java Mail API to Send Email
- 2010第一场雪
- agsXMPP分析:agsXMPP简要指南 (转)
- C#
- 设计模式之-Decorator--装饰器模式