2つのポイントがあるとしましょう
new Point(80,40);
new Point(40,80);
そして、それらを変換して、最終的に 1 つの文字列、文字列表現にしたいと考えています。
01
10
1 はポイント、0 は空きスペースです。ここでは、文字列が 40 倍に拡大され、各ポイントの幅と高さが 40 であることがわかります。すべてのポイントは 40 の倍数になります。
StringBuilder で何かを作成しようとしましたが、高さ (または y 値) ではなく、文字列の長さを指定してのみ文字を挿入できるため、どこから始めればよいかわかりません。
別の例を次に示します。
new Point(120,80);
new Point(80,240);
new Point(40,80);
になる
010
001
000
000
000
010
何千ものポイントを持っているため、できれば効率的なソリューションが必要です。ソリューションにコードは必要ありません。これを実装する方法についてのアイデアだけです。
しかし、実際には、書き込むべき文字(上記の例ではすべて1)をキー、ポイントを値としたハッシュマップにデータが格納されています。
ハッシュマップの例
Value Key
new Point(40,40) 'a'
new Point(80,80) 'b'
その結果、
a0
0b