。再構築2行2値行列| [スイフト] LeetCode1253バイナリ行列行2再構成しました

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
]➤[マイクロチャネルパブリック番号:あえてする(WeiGanTechnologies)
➤個人ドメイン名:https://www.zengqiang.org
➤GitHubアドレス:https://github.com/strengthen/LeetCode
➤元のアドレス:https://www.cnblogs.com/strengthen/p/11831505.html
アドレスがリンクブログパーク龍シャンカイはない場合➤、それは記事の著者をクロールすることができます。
➤テキストは、更新を変更されました!クリック強く、元のアドレスが読むことをお勧めします!サポート著者!オリジナルをサポートしています!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

行列の次の詳細を考えると  n 、列と  2 行:

  • 行列は、行列の各要素をすることができることを意味バイナリ行列であり、  0 または  1
  • 0番目(上)行の要素の和は以下のように与えられます  upper
  • 1-ST(低級)行の要素の和は以下のように与えられます  lower
  • (0インデックス)i番目の列の要素の和である  colsum[i]場合、  colsum 長さの整数配列として与えられます  n

あなたの仕事はして行列を再構築することで  upper、  lower と  colsum

2-Dの整数配列として返します。

複数の有効な解決策がある場合は、それらのいずれかが受け入れられます。

有効な解決策が存在しない場合、空の2次元配列を返します。 

例1:

入力:上部= 2、低下= 1、colsum = [1,1,1] 
出力:[[1,1,0]、[0,0,1]] 
説明:[[1,0,1]、[ 0,1,0]、および[0,1,1]、[1,0,0]]も正解です。

例2:

入力:上部= 2、低級= 3、colsum = [2,2,1,1] 
出力:[]

例3:

入力:上部= 5、低級= 5、colsum = [2,1,2,0,1,0,1,2,0,1] 
出力:[1,1,1,0,1,0,0 、1,0,0]、[1,0,1,0,0,0,1,1,0,1]

制約:

  • 1 <= colsum.length <= 10^5
  • 0 <= upper, lower <= colsum.length
  • 0 <= colsum[i] <= 2

あなたを与える  2 のライン  n バイナリ配列の列を:

  • 行列は、行列の各要素がないことを意味するバイナリ行列である  0 こと  1
  • 最初の  0 行の要素です  upper
  • 最初の  1 行の要素です  lower
  • 最初の  i (からの列  0 とされている番号の要素)  colsum[i]colsum 長さ  n の整数のアレイ。

あなたは使用する必要があり  upperlower そして  colsum この行列を再構築するために、および整数の2次元配列の形でそれを返します。

いくつかの異なった答えなので、いずれかの缶がこの質問である場合。

満足のいく答えがない場合は、空の2次元配列に戻ってください。

例1:

入力:上部= 2、低下= 1 、colsum = [1,1,1] 
出力:[[1,1,0]、[0,0,1]] 
説明:[[1,0,1]、[ 0,1,0]]と[[0,1,1]、[1,0,0]]は正解です。

例2:

入力:上部= 2、低級= 3 、colsum = [2,2,1,1] 
出力:[]

例3:

入力:上部= 5、低級= 5 、colsum = [2,1,2,0,1,0,1,2,0,1] 
出力:[1,1,1,0,1,0,0 、1,0,0]、[1,0,1,0,0,0,1,1,0,1]

ヒント:

  • 1 <= colsum.length <= 10^5
  • 0 <= upper, lower <= colsum.length
  • 0 <= colsum[i] <= 2

おすすめ

転載: www.cnblogs.com/strengthen/p/11831505.html