これは非常に有名な多国籍企業から私に尋ねられた質問です。質問は次のとおりです...
0と1の2DN*N配列を入力します。A(i、j)= 1の場合、i番目の行とj番目の列に対応するすべての値は1になります。すでに1がある場合は、1のままです。
例として、配列がある場合
1 0 0 0 0
0 1 1 0 0
0 0 0 0 0
1 0 0 1 0
0 0 0 0 0
次のように出力を取得する必要があります
1 1 1 1 1
1 1 1 1 1
1 1 1 1 0
1 1 1 1 1
1 1 1 1 0
入力行列はまばらに入力されています。
これはO(N ^ 2)未満で可能ですか?
別の条件で、追加のスペースが提供されていません。スペース<=O(N)を使用して複雑さを実現する方法があるかどうかを知りたいです。
PS:O(N * N)の複雑さを与える答えは必要ありません。これは宿題の問題ではありません。私は多くのことを試みましたが、適切な解決策を得ることができず、ここでいくつかのアイデアを得ることができると思いました。複雑さのために印刷を脇に置いておきます
私の大まかなアイデアは、通過する要素の数を動的に排除して、それらを約2N程度に制限することでした。しかし、私は適切なアイデアを得ることができませんでした。