與心靈對話
posts - 195, comments - 34, trackbacks - 0, articles - 1
導航
BlogJava
首頁
新隨筆
聯系
聚合
管理
<
2009年10月
>
日
一
二
三
四
五
六
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(14)
給我留言
查看公開留言
查看私人留言
隨筆分類
“智能”方向(6)
C++ &VC(18)
Databases(1)
Englisth(1)
Java(23)
matalb相關(8)
WebService(2)
可伸縮視頻編碼(3)
好文章(35)
對話心靈(12)
智慧島(14)
算法編程(20)
隨筆檔案
2011年5月 (1)
2010年9月 (3)
2010年7月 (1)
2010年6月 (2)
2010年5月 (5)
2010年4月 (7)
2010年1月 (2)
2009年12月 (3)
2009年11月 (18)
2009年10月 (15)
2009年9月 (2)
2009年8月 (4)
2009年7月 (5)
2009年6月 (3)
2009年5月 (2)
2009年4月 (4)
2009年3月 (7)
2009年2月 (2)
2009年1月 (3)
2008年12月 (8)
2008年11月 (15)
2008年10月 (4)
2008年9月 (1)
2008年8月 (2)
2008年7月 (2)
2008年6月 (13)
2008年5月 (1)
2008年4月 (1)
2008年3月 (4)
2008年1月 (3)
2007年12月 (2)
2007年11月 (4)
2007年10月 (5)
2007年9月 (3)
2007年8月 (9)
2007年7月 (7)
2007年6月 (8)
2007年5月 (4)
2007年4月 (8)
2006年5月 (1)
文章檔案
2007年4月 (1)
相冊
我的偶像
收藏夾
收藏1
技術基礎
Javaer
Java線程
深度理解圖像blog
技術相關
達人:編程匯總javalet
360個人圖書館
EJB3
Gossip良葛格
java Google資源多
Matrix67一個聰明的人
My Space,My mind 巫曉福
TopLanguage劉未鵬組織
Vincent'sBlog java基礎強人
ye話連篇
我在CSDN的Blog
鄭莎莎
研究方向
石縫間的生命
算法類
acm高人
byvoid.com
byvoidNOIP2000-2007 全部題解
LittleDS/
PKU很多的一個人
POJer
woodfish1988
搜索
最新評論
1.?re: 求數組中最長遞增子序列
這是原創麼?但是如果要輸出LIS的元素..2 3 7 6 8 4 5 9 1的輸出結果不正確吖~怎么改進才可以得到正確的序列呢?
--琉璃囧
2.?re: 不要和愛過的人說狠話!
評論內容較長,點擊標題查看
--nn
3.?re: know and do reading notes
評論內容較長,點擊標題查看
--alex adams
4.?re: MATLAB GUI編程中幾個有用的程序段
Fine
--ncepuyuyu
5.?re: 好歌分享
評論內容較長,點擊標題查看
--Sandy Alex
閱讀排行榜
1.?沉思于《沉思錄》meditations:若干讀后感(6156)
2.?MATLAB GUI編程中幾個有用的程序段(4653)
3.?C++ placement new 用法舉例zz(3810)
4.?最短路徑 之 SPFA算法 zz(2960)
5.?求數組中最長遞增子序列(2925)
評論排行榜
1.?轉:三十人生的,苗人鳳求婚(5)
2.?不要和愛過的人說狠話!(3)
3.?一則笑話,又是關于咱程序員的(2)
4.?zz清華校長送給畢業生的五句話(2)
5.?zz:35歲前成功的12條黃金法則(2)
LongestIncrementSubarray
Posted on 2009-10-26 11:39
小強摩羯座
閱讀(181)
評論(0)
編輯
收藏
所屬分類:
算法編程
package
com.dwq.algo;
import
java.util.ArrayList;
public
class
LongestIncrementSubarray
{
public
static
void
main(String[] args)
{
int
[] a
=
{
3
,
-
1
,
2
,
4
,
3
,
5
,
-
8
,
6
}
;
int
len
=
LIS2(a);
System.out.println(len);
for
(
int
i : re)
System.out.print(i
+
"
,
"
);
}
static
ArrayList
<
Integer
>
re
=
new
ArrayList
<
Integer
>
();
static
int
LIS(
int
[] a)
{
int
[] lis
=
new
int
[a.length];
int
maxL
=
-
1
;
int
max
=
0
;
for
(
int
i
=
0
; i
<
a.length; i
++
)
{
lis[i]
=
1
;
for
(
int
j
=
0
; j
<
i; j
++
)
{
if
(a[j]
<
a[i]
&&
lis[j]
+
1
>
lis[i])
{
lis[i]
=
lis[j]
+
1
;
if
(lis[i]
>
maxL)
{
maxL
=
lis[i];
max
=
a[i];
re.add(a[j]);
}
}
}
}
re.add(max);
return
maxL;
}
static
int
LIS2(
int
[] a)
{
int
[] maxV
=
new
int
[a.length
+
1
];
maxV[
0
]
=
Integer.MIN_VALUE;
maxV[
1
]
=
a[
0
];
int
lis[]
=
new
int
[a.length];
for
(
int
i
=
0
; i
<
lis.length; i
++
)
lis[i]
=
1
;
int
maxLIS
=
1
;
for
(
int
i
=
1
; i
<
a.length; i
++
)
{
int
j;
for
(j
=
maxLIS; j
>
0
; j
--
)
{
if
(a[i]
>
maxV[j])
{
lis[i]
=
j
+
1
;
break
;
}
}
if
(lis[i]
>
maxLIS)
{
maxLIS
=
lis[i];
maxV[lis[i]]
=
a[i];
}
else
//
前面有a[i] > maxV[j]了已經
if
(a[i]
>
maxV[j]
&&
a[i]
<
maxV[j
+
1
])
//
后面的有選小的
maxV[j
+
1
]
=
a[i];
}
return
maxLIS;
}
static
int
LIS3(
int
[] a)
{
int
[] maxV
=
new
int
[a.length
+
1
];
maxV[
0
]
=
Integer.MIN_VALUE;
maxV[
1
]
=
a[
0
];
int
lis[]
=
new
int
[a.length];
for
(
int
i
=
0
; i
<
lis.length; i
++
)
lis[i]
=
1
;
int
maxLIS
=
1
;
for
(
int
i
=
1
; i
<
a.length; i
++
)
{
int
j;
for
(j
=
maxLIS; j
>
0
; j
--
)
{
if
(a[i]
>
maxV[j])
{
lis[i]
=
j
+
1
;
break
;
}
}
if
(lis[i]
>
maxLIS)
{
maxLIS
=
lis[i];
maxV[lis[i]]
=
a[i];
}
//
else
//
前面有a[i] > maxV[j]了已經
//
if (a[i] > maxV[j] &&
if
(a[i]
<
maxV[j
+
1
])
//
a[i],對應到maxV[j+1]位置上,并選小的
maxV[j
+
1
]
=
a[i];
}
return
maxLIS;
}
}
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關文章:
AC算法使用例子
使用用最小堆來找最大的K個數
zz求二叉樹中節點的最大距離
zz精華游戲算法整理
pku3233 矩陣相乘的反復平方法和矩陣等比和計算構造方法
最小表示法
排序算法、時間復雜度與信息熵 zz
傳說中效率最高的最大流算法(Dinic) zz
最短路徑 之 SPFA算法 zz
C語言編一個簡單的計算器
Powered by:
BlogJava
Copyright © 小強摩羯座
主站蜘蛛池模板:
扶余县
|
淮阳县
|
三亚市
|
内丘县
|
平南县
|
神池县
|
毕节市
|
天水市
|
鄢陵县
|
永兴县
|
罗江县
|
蒲江县
|
德阳市
|
浠水县
|
东阳市
|
额尔古纳市
|
临城县
|
巴青县
|
桦川县
|
渭南市
|
怀集县
|
晋城
|
澎湖县
|
孟津县
|
南开区
|
高州市
|
彭州市
|
正蓝旗
|
瑞昌市
|
灵台县
|
南和县
|
河东区
|
永春县
|
遂溪县
|
双峰县
|
新余市
|
建瓯市
|
延寿县
|
武安市
|
镶黄旗
|
夹江县
|