11 2 小和問題

2022-10-11 00:45:07 字數 432 閱讀 8550

例:

[ 6 3 2 1 6  7] 

每個數左邊,比它小的數累加起來

0  0  0 0 6  18

所有的小和全部加起來 =  24

o(n^2)的做法:

1、迴圈到某個數,遍歷它的左邊,把它左邊小於這個數的數全部加起來

2、從頭到尾迴圈一遍

3、最後算總的和。

用歸併的思想讓時間複雜度變成o(n * logn)

利用的是megesort的實質:

1、通過遞迴,將陣列不斷劃分,知道左右都為1個時

2、利用merge的過程,遵循:

2.1、誰小拷貝誰;

2.2、相等先拷貝左邊的;

2.3、右組小,拷貝右組數時,不產生小和,同時將左組數拷貝過來;

2.4、左組小,拷貝左組數時,看一下目前右組有多少個數比它大,產生小和;

C C 問題 B C語言11 2

定義乙個結構體student,儲存學生的學號 名字 性別和年齡,讀入每個學生的所有資訊,儲存在結構體中,並輸出。結構體student的定義如下 struct student 本題要求使用指向結構體陣列的指標進行輸入和輸出。第一行有乙個整數n,表示以下有n個學生的資訊將會輸入。保證n不大於20。以後的...

小和問題和逆序對問題

在乙個陣列中,每乙個數左邊比當前數小的數累加起來,叫做這個陣列的小和。求乙個陣列的小和。例如 對於陣列 1,3,4,2,5 1左邊比1小的數,沒有 3左邊比3小的數,1 4左邊比4小的數,1 3 2左邊比2小的數,1 5左邊比5小的數,1 3 4 2 所以小和為1 1 3 1 1 3 4 2 16 ...

結構體 問題 B C語言11 2

定義乙個結構體student,儲存學生的學號 名字 性別和年齡,讀入每個學生的所有資訊,儲存在結構體中,並輸出。結構體student的定義如下 struct student 要求使用指向結構體陣列的指標進行輸入和輸出。第一行有乙個整數n,表示以下有n個學生的資訊將會輸入。保證n不大於20。以後的n行...