在我用一种未命名的语言编写的程序中,我有一个宽度未知的文本块,而我所知道的只是该文本块的最大宽度。鉴于此信息,我需要找出此文本可能的最小宽度(假设我不能使用字符/字形或字符数的度量)。到目前为止,我只有一个蛮力解决方案,如下所示:
for (int i = .1; i < maxTextWidth; i += .1)
{
if (textFitsInGivenWidth(text, i))
{
textWidth = i;
break;
}
}
我想尽可能地尝试和优化它。我的第一个想法是使用二进制搜索,但我无法以正确的方式实现它(并且不确定它是否可能)。有没有人对我可以在这里做些什么以仅使用我在上述解决方案中给出的内容来改善运行时间有任何建议?