題目在這里捏:
整數(shù)數(shù)組如果是單峰的,滿(mǎn)足:
·第一部分一開(kāi)始就在嚴(yán)格增加
·第二部分此后它是恒定的
·此后第三部分,它將嚴(yán)格降低
第一個(gè)部分(增加)和最后一部分(減少)可能不存在。允許這兩部分不存在。
例如,以下三個(gè)數(shù)組是單峰的:[5,7,11,11,2,1],[4,4,2],[7],但以下三個(gè)數(shù)組不是單峰的:[5,5,6,6,1],[1,2,1,2],[4,5,5,6]。
編寫(xiě)一個(gè)程序,檢查數(shù)組是否是單峰的。
測(cè)試數(shù)據(jù)
樣例輸入1:
6
1 5 5 5 4 2
樣例輸出1:
YES
樣例輸入2:
5
10 20 30 20 10
樣例輸出2:
YES
樣例輸入3:
4
1 2 1 2
樣例輸出3:
NO
樣例輸入4:
7
3 3 3 3 3 3 3
樣例輸出4:
YES
樣例輸入5:
6
5 5 5 4 4 4
樣例輸出4:
NO
淺淺分析一下哈
根據(jù)題目可知單峰數(shù)組可分為
(1).標(biāo)準(zhǔn)的先增加在穩(wěn)定后減小
(2).沒(méi)有前面的嚴(yán)格增加,直接減小
可以先從前往后找到一個(gè)大值l,再?gòu)暮笸罢业揭粋€(gè)大值r,以此來(lái)將數(shù)組分為1~l,l~r,r~n三段,再對(duì)三段逐一核驗(yàn)是否復(fù)=符合對(duì)應(yīng)的條件即可啦~~~
#include//單峰數(shù)組
using namespace std;//先增后減
int main(){
int i,j,n,a[1001],l,r;
cin>>n;
for(i=1;i<=n;i++) cin>>a[i];
int max1=-1e9;
for(i=1;i<=n;i++){
if(a[i]>max1){
max1=a[i];
l=i;//尋找到左邊的大值邊界
}
}
int max2=-1e9;
for(i=n;i>=1;i--){
if(a[i]>max2){
max2=a[i];
r=i;//右邊大值的邊界
}
}
// cout<=a[i+1])
f1=0;
break;
}
for(i=l;i
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
網(wǎng)頁(yè)名稱(chēng):單峰數(shù)組c++捏-創(chuàng)新互聯(lián)
文章源于:http://www.chinadenli.net/article32/ijepc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、網(wǎng)站營(yíng)銷(xiāo)、企業(yè)網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、品牌網(wǎng)站設(shè)計(jì)、全網(wǎng)營(yíng)銷(xiāo)推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容