致逝去的藍橋25分 數列最大值

2021-09-13 14:05:59 字數 948 閱讀 6981

1題目的大致意思就是

輸入n和m表示n個加號和m個減號

然後輸入n+m+1個數字(運算子加進去所需要的數字個數)

湊成結果最大值

我的思路很對,無奈快速排序忘了,除錯了乙個多鐘頭無濟於事唉心累

思路:快速排序,讓最大的n+1個數字的和減去最小m個數字的和

**如下

#include

#include

void

swap

(int

*a,int

*b)void

quicksort

(int

*&arr,

int below,

int high)

while

(below < high)

while

(below < high&&key >= arr[below]

)++below;

if(key < arr[below])}

quicksort

(arr, i, below -1)

;quicksort

(arr, below +

1, j);}

intmain()

//將資料排序

quicksort

(arr,

0, size -1)

;for

(int i =

0; i < size; i++

)for

(int i =

0; i < m; i++

)for

(int i = m; i < size; i++

)printf

("%d\n%d"

, sum1,sum2)

;system

("pause");

return0;

}

數列的特徵求最大值最小值,和

問題描述 給出n個數,找出這n個數的最大值,最小值,和。輸入格式 第一行為整數n,表示數的個數。第二行有n個數,為給定的n個數,每個數的絕對值都小於10000。輸出格式 輸出三行,每行乙個整數。第一行表示這些數中的最大值,第二行表示這些數中的最小值,第三行表示這些數的和。樣例輸入 51 3 2 4 ...

410 分割陣列的最大值

給定乙個非負整數陣列和乙個整數 m,你需要將這個陣列分成 m 個非空的連續子陣列。設計乙個演算法使得這 m 個子陣列各自和的最大值最小。令dp i j 表示陣列前i個數分成j段時的最小和,那麼我們可以列舉k,表示前k個數分成了j 1段,那麼後k 1到i個數就被分成了一段,此時狀態轉移方程就是 sub...

410 分割陣列的最大值

給定乙個非負整數陣列和乙個整數 m,你需要將這個陣列分成 m 個非空的連續子陣列。設計乙個演算法使得這 m 個子陣列各自和的最大值最小。注意 陣列長度 n 滿足以下條件 示例 輸入 nums 7,2,5,10,8 m 2 輸出 18 解釋 一共有四種方法將nums分割為2個子陣列。其中最好的方式是將...