最长等差数列 leetcode java_51nod1055 最长等差数列
完全一臉懵逼!。dp[i][j]表示i,j為相鄰的兩項的最大值。兩個指針兩邊掃的思想好勁啊這個!%%%
#include
#include
#include
#include
using namespace std;
#define rep(i,s,t) for(int i=s;i<=t;i++)
#define dwn(i,s,t) for(int i=s;i>=t;i--)
int read(){
int x=0;char c=getchar();
while(!isdigit(c)) c=getchar();
while(isdigit(c)) x=x*10+c-'0',c=getchar();
return x;
}
const int nmax=1e4+5;
short int dp[nmax][nmax];int a[nmax];
void maxs(int &a,int b){
if(a
}
int main(){
int n=read();
rep(i,1,n) a[i]=read();
sort(a+1,a+n+1);
int ans=0,j,k;
rep(i,2,n-1){
j=i-1,k=i+1;
while(j&&k<=n){
if(a[j]+a[k]>2*a[i]) --j;
else if(a[j]+a[k]<2*a[i]) ++k;
else{
if(!dp[j][i]) dp[j][i]=dp[i][k]=3;
else dp[j][i]=dp[i][k]=dp[j][i]+1;
maxs(ans,dp[i][k]);--j;++k;
}
}
}
printf("%d\n",ans);
return 0;
}
基準時間限制:2?秒 空間限制:262144?KB 分值:?80?難度:5級算法題
?收藏
?關注
N個不同的正整數,找出由這些數組成的最長的等差數列。
例如:1 3 5 6 8 9 10 12 13 14
等差子數列包括(僅包括兩項的不列舉)
1 3 5
1 5 9 13
3 6 9 12
3 8 13
5 9 13
6 8 10 12 14
其中6 8 10 12 14最長,長度為5。
Input
第1行:N,N為正整數的數量(3?<=?N?<=?10000)。
第2?-?N+1行:N個正整數。(2<=?A[i]?<=?10^9)
Output
最長等差數列的長度。
Input示例
10
1
3
5
6
8
9
10
12
13
14
Output示例
5
n個整數中,找出盡可能多的數使他們組成一個等差數列,求最長等差數列的長度
例子: ?3,8,4,5,6,2 ? ? ? ? ?返回值應該為 :5 這是昨天做的一道優酷土豆的編程題,和leetcode中的128/?Longest Consecutive Sequence 有點 ...
51 nod 1055 最長等差數列(dp)
1055?最長等差數列 基準時間限制:2?秒 空間限制:262144?KB 分值:?80?難度:5級算法題 N個不同的正整數,找出由這些數組成的最長的等差數列. ? ? 例如:1 3 5 6 8 9 ...
『最長等差數列 線性DP』
最長等差數列(51nod 1055) Description N個不同的正整數,找出由這些數組成的最長的等差數列. 例如:1 3 5 6 8 9 10 12 13 14 等差子數列包括(僅包括兩項的不 ...
【51Nod】1055 最長等差數列 動態規劃
[題目]1055 最長等差數列 [題意]給定大小為n的互不不同正整數集合,求最長等差數列的長度.\(n \leq 10000\). [算法]動態規劃 兩個數之間的差是非常重要的信息,設\(f_{i,j ...
51nod-1055-最長等差數列(dp+優化)
1055?最長等差數列? 基準時間限制:2?秒 空間限制:262144?KB 分值:?80?難度:5級算法題 ?收藏 ?關注 N個不同的正整數,找出由這些數組成的最長的等差數列. ? ? 例如:1 3 ...
51Nod - 1055:最長等差數列 (求最長的等差數列)
N個不同的正整數,找出由這些數組成的最長的等差數列. ? ? 例如:1 3 5 6 8 9 10 12 13 14 等差子數列包括(僅包括兩項的不列舉) 1 3 5 1 5 9 13 3 6 9 12 ...
51Nod 1055 最長等差數列 (dp+哈希)
1055?最長等差數列? 基準時間限制:2?秒 空間限制:262144?KB 分值:?80?難度:5級算法題 ?收藏 ?關注 N個不同的正整數,找出由這些數組成的最長的等差數列. 例如:1 3 5 6 ...
51nod 1055:最長等差數列
1055?最長等差數列 基準時間限制:2?秒 空間限制:262144?KB 分值:?80?難度:5級算法題 ?收藏 ?取消關注 N個不同的正整數,找出由這些數組成的最長的等差數列. 例如:1 3 5 ...
隨機推薦
對字符串進行簡單的字符數字統計 探索java中的List功能
題目: 統計一個字符串中數字和字符串的個數,并分別進行排列,要求 1.數字,字符串可以從鍵盤獲取. 2.儲存在list 3.統計數字個數,字符串個數 4.把數字和字符串按從小到大的順序輸出 5.不能使 ...
[轉]C#讀寫TEXT文件
1.使用FileStream讀寫文件 文件頭: using System; using System.Collections.Generic; using System.Text; using Sys ...
Macbook配置adb環境
配置adb命令 http://stackoverflow.com/questions/5526470/trying-to-add-adb-to-path-variable-osx http://sta ...
angular-ui-tree
angular-ui-tree的github項目地址:https://github.com/angular-ui-tree/angular-ui-tree DEMO目錄結構如下: bootstrap. ...
Elasticsearch Index模塊
1.? Index Setting(索引設置) 每個索引都可以設置索引級別.可選值有: static? :只能在索引創建的時候,或者在一個關閉的索引上設置 dynamic:可以動態設置 1.1.??S ...
springmvc的dispatchservlet初始化
初始化做的事情,處理下controller的映射關系 https://blog.csdn.net/qq_38410730/article/details/79426673
python包管理之Pip安裝及使用-1
Python有兩個著名的包管理工具easy_install.py和pip.在Python2.7的安裝包中,easy_install.py是默認安裝的,而pip需要我們手動安裝. pip可以運行在Uni ...
PostgreSQL查看表大小的命令
SELECT table_name, pg_size_pretty(table_size) AS table_size, pg_size_pretty(indexes_size) AS indexes ...
C do {...} while (0) 在宏定義中的作用
如果你是一名C程序員,你肯定很熟悉宏,它們非常強大,如果正確使用可以讓你的工作事半功倍.然而,如果你在定義宏時很隨意沒有認真檢查,那么它們可能使你發狂,浪費N多時間.在很多的C程序中,你可能會看到許多 ...
Spring整合Hibernate,Druid(Maven)
本文轉載自:http://blog.csdn.net/lantazy/article/details/52495839 首先,說一下spring,spring有很好的整合能力,Web應用的各個層次都能 ...
總結
以上是生活随笔為你收集整理的最长等差数列 leetcode java_51nod1055 最长等差数列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux怎么在终端里查系统信息,Neo
- 下一篇: Sublime Text 3 离线安装c