我想知道是否有一种算法可以将一条线分割成多条线,以便多条线的结果集适合于正方形而不是宽的矩形形状。让我举几个例子,
输入:嗨,这是一条很长的线。
输出:
嗨,我是
真的吗?
长长的队伍
输入:a b c d e f
输出:
A、b、c
D e f
输入:这就是这样的line.This是结束了。
输出:
真的是这样
looooooooooooooooooooong
行,这是结束了。
如果你在上面的例子中看到,输入线适合一个宽的矩形。但输出结果或多或少符合正方形。
本质上,这里需要做的是简单地计算一行中的字符数,取该数字的平方根。然后在每一行中放入平方根数的字符。但在上面的示例中,拆分需要通过尊重
设R1,...Rn是平面中n轴对齐的矩形,其角点是n×n网格中的点。因此,对于每个矩形Ri,四个角是两个坐标都是{1,...n}中的整数的点。
现在我想在O(n)时间内按面积递增的方式对这些矩形R1,...Rn进行排序。
我有一个算法可以在O(n*log )中对它们进行排序。但是如何在O(n)中实现呢?
使用O(n*log n)我们可以这样做:
Calculate all the areas, and then sort using any standard sorting algorithm like Quick sort
我猜将需要一些每个处理,这样我们就可以在O(n)中排序,因为我们得到
我正在尝试用GDI在C++中从头开始实现一个渐变笔刷。我不想使用GDI+或任何其他图形框架。我希望渐变是任何方向(任意角度)。
我的伪代码算法:
For each pixel in x dirrection
For each pixel in the y direction
current position = current pixel - centre //translate origin
rotate this pixel according to the given angle