演算法程式設計(Java) 獎品數量

2021-09-19 17:31:57 字數 1026 閱讀 5061

有n個人參加程式設計比賽,比賽結束後每個人都有乙個分數

現在所有人排成乙個圈(第1個人和第n個人相鄰)領取獎品,要求滿足:

輸入描述:

第一行是乙個整數t,表示測試樣例的個數

每個測試樣例的第一行是乙個正整數n,表示參加比賽的人數(0 < n < 100000)

第二行是n個整數a[i],表示每個人的分數(0 < a[i] < 100000)

輸出描述:

對每個測試樣例,輸出應該準備的最少獎品數

示例1輸入:22

1 24

1 2 3 3

輸出:3

8

首先從左往右遍歷,如果後面的數大於前面的,獎品數+1,否則獎品數=1,這樣確保可每個人都至少有乙個獎品。

再從右往左遍歷,如果後面的數小於前面的數,這時,如果前面的獎品大於後面,繼續判斷,否則,前面的獎品數得變為math.max(award[i],award[i+1]+1)。

public

class

test3

score[people]

= score[0]

;int res1 =

countaward

(score)

; res.

add(res1);}

for(integer i :res)

system.out.

println

(i);

}private

static

intcountaward

(int

score)

//再從右往左遍歷

for(

int i = score.length -

2; i >-1

; i--)}

for(

int i =

0; i < award.length-

1; i++

)return res1;

}}

出版 金融產品數量分析Matlab程式設計

作者前言 金融市場從來都是資本與智慧型的競技場,自從布萊克與斯科爾斯在20世紀70年代提出了期權定價公式起,數學方法開始在金融領域得到廣泛的應用。隨著金融品種多樣化 交易的全球化使得金融市場資訊科技急速增長,定性分析已經無法處理如巨大的資料。以數學與計算機相結合的數量化分析方法迅速發展。無論是過去的...

演算法程式設計 JAVA 八皇后問題

題目 在乙個8 8西洋棋盤上,有8個皇后,每個皇后佔一格 要求皇后間不會出現相互 攻擊 的現象,即不能有兩個皇后處在同一行 同一列或同一對角線上。問共有多少種不同的方法?解題思路 通過乙個int 8 8 的二位陣列構建棋盤,初始化為0,我們可以定義如果該位置擺放了皇后那麼該位置對應的二維陣列被置為 ...

演算法程式設計(Java) 繩子剪裁問題

有n根繩子,第i根長為li,現需要m根等長繩子。你可以對n根繩子進行任意剪裁 不能拼接 計算出這m根繩子最長的長度多少?輸入描述 第一行包括兩個整數n,m,含義如題所述 1 n,m 100000 第二行包含n個整數,分別對應n根繩子的長度 0 l i 10 9 輸出描述 乙個數字,表示裁剪後最長的長...