最近,我在一次采访中被要求设计一种算法,该算法将左对齐的输入字符串(每行末尾有空格)转换为Justify(整行末尾无空格),类似于MS Word。我向他提出了一些基本的解决方案,其中涉及计算单词数和每行空格数,然后将它们平均分配到所有空格中(他要求我假设分数空间可以在单词之间分布)。但是后来他请我考虑整个段落,然后修改文本,以便在不可避免的单词之间的空间不均分配时,不会失去文本的美感。
当时我无法想到任何适当的解决方案。后来他告诉我这是通过动态编程完成的。我不确定是否已经有一些标准算法可以解决这个问题。如果是,请分享一些有用的链接。
PS:我提出的解决方案是一个非常抽象的想法,因此我没有任何代码可以显示我已经尝试过的一切。理由:http : //en.wikipedia.org/wiki/Justification_(排版)
我有一个列表,其中包含所有元素作为表单的结构
typedef struct person_node{
string name;
string country;
}person;
std::list<person> list;
Run Code Online (Sandbox Code Playgroud)
该列表已按人名排序.
我如何使用内置的binary_search()函数?
我已经知道如何在列表中使用这个binary_search()只有数字作为数据,但我想知道如何将它用于这样的列表.
我使用这个二进制函数:
binary_search (list.begin(), list.end(), value, compare_function);
Run Code Online (Sandbox Code Playgroud)
我唯一不知道的是," 如果我需要在列表中查找特定名称,我应该输入什么来代替价值?"
我还想要一个迭代器指向该节点,如果找到的话.
我最近在Windows 7上安装了Python 3.5 64位.现在在尝试安装Google Cloud SDK时出现以下错误:
Output folder: C:\Program Files (x86)\Google\Cloud SDK
Downloading Google Cloud SDK core.
Extracting Google Cloud SDK core.
Create Google Cloud SDK bat file: C:\Program Files (x86)\Google\Cloud SDK\cloud_env.bat
Installing components.
Welcome to the Google Cloud SDK!
File "C:\Python\Lib\site.py", line 176
file=sys.stderr)
^
SyntaxError: invalid syntax
File "C:\Python\Lib\site.py", line 176
file=sys.stderr)
^
SyntaxError: invalid syntax
Failed to install.
Run Code Online (Sandbox Code Playgroud)
我没有修改任何Python Lib文件.
python google-app-engine google-cloud-platform google-cloud-sdk
可能重复:
什么是最快的子字符串搜索算法?
如何检查字符串是否存在于C++或Java中长度为100,000个字符的较大字符串中?
我知道一种方法,str.find("sub_string");但它无法处理如此大的字符串.最长执行时间为1秒.
我需要寻找的子字符串也可以是50,000!