2023 HUAWEI OD マシン試験試験 B 編 [分割配列の最大差分] Java 実装

トピック

配列内の任意の位置で分割できる複数の整数で構成される配列 nums を指定すると、配列は空ではない 2 つのサブ配列 (つまり、左側の配列と右側の配列) に分割され、サブ配列は次のようになります。合計して 2 つの値を取得し、これら 2 つの値の差を計算し、すべての分割スキームの中で最も差が大きい値を出力してください。
入力の説明
1 行目の入力配列の要素数 n、1 < n <= 100000

2 行目は 4 バイトの整数をスペースで区切って入力します
出力説明
出力差分の最大値
例 1:
入力:

6
1 -2 3 4 -9 7

出力:
10

説明:
配列 nums を空ではない 2 つの配列に分割するための実行可能な解は、左の配列 = [1] と右の配列 = [-2,3,4,-9,7]、およびその差 = |1 - 3 です。 |=2
左の配列 = [1,-2] および右の配列 = [3,4,-9,7]、合計の差 =| -1-5 |=6
左の配列 = [1,-2,3 ,1 ] と右の配列 = [4,-9,7]、差の合計 = |2 - 2|=0
左の配列 = [1,-2,3,4] と右の配列 = [-9,7 ]、差の合計=|6 -(-2)| = 8、
左の配列 =[1,-2,3,4,-9] および右の配列 =[7]、合計の差 =|-3 -7| = 10 最大の差10です

おすすめ

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