004快手 非遞減序列

2021-09-27 11:49:07 字數 1037 閱讀 7654

問題描述:

對於乙個長度為n的整數序列,你需要檢查這個序列是否可以是非遞減序列,假如你最多可以改變其中的乙個數。

非遞減序列的定義是:array[i]<=array[i+1], for 1<=i輸入描述:

輸入是乙個長度為n的整數序列。

輸出描述:

輸出為; 是為1; 否為0

示例輸入:

346

5578

示例輸出:

1
說明:

將6變成4, 序列變成 [34

4557

8],符合非遞減序列,因此輸出1

問題分析:

本來這個題是有個小小的思考點在裡面的,但是這個說明真是個點睛之筆。。相當於直接告訴不符合條件的直接變成前面那個值即可。=

=所以這題就成了完全沒有難度的題目了。 只需要遍歷一邊陣列,統計一下改變次數即可。

ac**:

def

solution()

: cont =

0 arr =

list

(map

(lambda x:

int(x)

,input()

.split())

)for i,v in

enumerate

(arr):if

not i:

continue

if v < arr[i-1]

: cont +=

1 arr[i]

= arr[i-1]

if cont >1:

print(1

)else

:print(0

)

solution(

)

最長非遞減子串行的應用

description 我們有乙個數列a1,a2.an,你現在要求修改數量最少的元素,使得這個數列嚴格遞增。其中無論是修改前還是修改後,每個元素都必須是整數。請輸出最少需要修改多少個元素。input 第一行輸入乙個 t 1 leq t leq 10 表示有多少組資料 每一組資料 第一行輸入乙個 n ...

堆排序 大頂堆 非遞減序列

堆的定義 如下,n個元素的序列當且僅當滿足下關係時,稱之為堆.ki k2i ki k2i 1 小頂堆 或者 ki k2i ki k2i 1 大頂堆 堆排序 建大頂堆,使堆頂元素與堆中最後乙個元素替代之 放置陣列尾,陣列尾為當前最大元素 堆的剩餘未排序的元素,建大頂堆,重複上述過程.include 已...

hunnu 11182 最長非遞減子串行

xujie賣車 time limit 1000ms,special time limit 2500ms,memory limit 32768kb total submit users 1,accepted users 1 problem 11182 no special judgement prob...