Description
We are given a integer sequence, your job is find the length of the longest contiguous subsequence that is strictly increasing or strictly decreasing.
Input
- First number?, represent how many test cases.
- For each test case the first number is?.
- Then??positive integers are followed, all of them are less than 101.
Output
For each test case output the answer in one line.
Sample Input
3
3 1 1 1
3 1 2 3
4 4 3 2 1
Sample Output
1
3
4
思路: 用2個(gè)數(shù)組存取遞增遞減序列,并且浪費(fèi)點(diǎn)空間節(jié)省效率的方法去做。
1
#include<stdio.h>
2
int
main()
3
{
4
int
i,j,test,num,len,A[
50
],B[
50
],C[
50
];
5
scanf(
"
%d
"
,&
test);
6
for
(i=
0
;i<test;i++
)
7
{
8
scanf(
"
%d
"
,&
num);
9
for
(j=
0
;j<num;j++
)
10
scanf(
"
%d
"
,&
C[j]);
11
A[
0
]=
1
;
12
B[
0
]=
1
;
13
for
(j=
1
;j<num;j++
)
14
{
15
if
(C[j]>C[j-
1
])
16
{
17
A[j]=A[j-
1
]+
1
;
18
B[j]=
1
;
19
}
20
if
(C[j]<C[j-
1
])
21
{
22
A[j]=
1
;
23
B[j]=B[j-
1
]+
1
;
24
}
25
if
(C[j]==C[j-
1
]){
26
A[j]=
1
;
27
B[j]=
1
;
28
}
29
}
30
for
(j=
0
,len=
0
;j<num;j++
)
31
{
32
if
(A[j]>len) len=
A[j];
33
if
(B[j]>len) len=
B[j];
34
}
35
printf(
"
%d\n
"
,len);
36
}
37
return
0
;
38
}
?
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

