2023 Huawei odマシンテスト実際の問題[最も近い数値を計算] C言語

目次

トピック

一連の考え

コード


トピック

配列 X と正の整数 K が与えられた場合、式 X[i] - x[i + 1] ... - X[i + K 1] を配列の中央値に最も近づける添え字 i を見つけてください。条件を満たす i が複数ある場合は、最大の i を返します。
このうち、配列の中央値:長さNの配列を要素の値に従って昇順に並べ、添字はN/2要素の値とする。 補足説明:
1
.配列 X はすべて正の整数です;
2. X の長さ n の値の範囲: 2<= n <= 1000;
3. K は 0 より大きく、配列のサイズより小さいです;
4. i の値の範囲: 0 <= i < 1000;
5. タイトルのソートされた配列 X[N] 中央値は X[N/2]
例 1
入力:

[50,50,2,3]、2
出力:

1

説明:
1. 中央値は 50 です。[50,50,2,3] は、昇順に並べ替えると [2,3,50,50] になります。中央値は、添字 4/2=2 を持つ要素 50 です。

2. 計算結果は 1: X[50,50,2,3] タイトルに従って X[i] - ...- X[i + K- 1] を計算して 3 つの数値を取得します

0 (X[0]-X[1]= 50 -50) 、

48 (X[1]-X)

おすすめ

転載: blog.csdn.net/misayaaaaa/article/details/132006424