gpt4 book ai didi

java - 将点转换为文本表示

转载 作者:行者123 更新时间:2023-12-01 14:27:15 25 4
gpt4 key购买 nike

假设我有两点

new Point(80,40);
new Point(40,80);

我想将它们转换为一个字符串,一种字符串表示形式。

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

我希望有一个高效的解决方案,我有数千个积分。解决方案不需要任何代码,只需了解如何实现即可。

然而,数据实际上存储在一个 HashMap 中,其中包含应该写入的字符(在上面的示例中均为 1)作为键,点作为值。

HashMap 示例

     Value             Key
new Point(40,40) 'a'
new Point(80,80) 'b'

这会导致

 a0
0b

最佳答案

这是一个使用内存的解决方案,但计算效率很高:

  1. 创建一个二维 boolean 数组来表示您的“ map ”,初始化为 all-false

  2. 迭代您的点,将坐标除以 40,使用它来索引数组,然后设置为 true

  3. 迭代二维数组,为每个元素打印 10

关于java - 将点转换为文本表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17112384/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com