小编Raj*_*hah的帖子

将文本从左对齐转换为对齐的算法

最近,我在一次采访中被要求设计一种算法,该算法将左对齐的输入字符串(每行末尾有空格)转换为Justify(整行末尾无空格),类似于MS Word。我向他提出了一些基本的解决方案,其中涉及计算单词数和每行空格数,然后将它们平均分配到所有空格中(他要求我假设分数空间可以在单词之间分布)。但是后来他请我考虑整个段落,然后修改文本,以便在不可避免的单词之间的空间不均分配时,不会失去文本的美感。

当时我无法想到任何适当的解决方案。后来他告诉我这是通过动态编程完成的。我不确定是否已经有一些标准算法可以解决这个问题。如果是,请分享一些有用的链接。

PS:我提出的解决方案是一个非常抽象的想法,因此我没有任何代码可以显示我已经尝试过的一切。理由:http : //en.wikipedia.org/wiki/Justification_(排版)

algorithm text text-justify leftalign

5
推荐指数
1
解决办法
4970
查看次数

在排序列表中进行二进制搜索,所有节点都为struct C++

我有一个列表,其中包含所有元素作为表单的结构

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)

我唯一不知道的是," 如果我需要在列表中查找特定名称,我应该输入什么来代替价值?"

我还想要一个迭代器指向该节点,如果找到的话.

c++ stl list binary-search

1
推荐指数
1
解决办法
4509
查看次数

在Windows 7上安装Google Cloud SDK时出错

我最近在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

1
推荐指数
1
解决办法
4415
查看次数

检查字符串是否可用更长的100,000字符串

可能重复:
什么是最快的子字符串搜索算法?

如何检查字符串是否存在于C++或Java中长度为100,000个字符的较大字符串中?

我知道一种方法,str.find("sub_string");但它无法处理如此大的字符串.最长执行时间为1秒.

我需要寻找的子字符串也可以是50,000!

c++ java string

-1
推荐指数
1
解决办法
1371
查看次数