Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 将文本消息拆分为具有后缀(k/n)的限制为30个字符的块_Algorithm - Fatal编程技术网

Algorithm 将文本消息拆分为具有后缀(k/n)的限制为30个字符的块

Algorithm 将文本消息拆分为具有后缀(k/n)的限制为30个字符的块,algorithm,Algorithm,有一个文本消息服务,它向用户发送最多30个字符的消息。创建一个函数,将文本拆分为块,以便可以在多条消息中发送 每个区块可以是: 长达30个字符 不可在中间分裂。 每个数据块的顺序都必须以''k/n'的形式作为后缀 e、 g“这是来自区块(1/2)”,“这是第二个区块(2/2)” 如果提供给函数的文本在30个字符的限制范围内,则不应为排序添加后缀 空间不会被认为是单词的一部分 任何单词的长度都不超过后缀 可以有N=1000个字符 解决方案:-我认为DP/Greedy可能会解决没有后缀的块的数量

有一个文本消息服务,它向用户发送最多30个字符的消息。创建一个函数,将文本拆分为块,以便可以在多条消息中发送

每个区块可以是:

  • 长达30个字符

  • 不可在中间分裂。

  • 每个数据块的顺序都必须以''k/n'的形式作为后缀

    e、 g“这是来自区块(1/2)”,“这是第二个区块(2/2)”

  • 如果提供给函数的文本在30个字符的限制范围内,则不应为排序添加后缀

  • 空间不会被认为是单词的一部分

  • 任何单词的长度都不超过后缀

  • 可以有N=1000个字符


解决方案:-我认为DP/Greedy可能会解决没有后缀的块的数量(n/k),如何事先知道后缀的总数。

根据贪婪方法,这是正确的。更严格地说,我们通过归纳法知道:

基本情况:
文本消息可以放在一条消息中(第一件事:如何定义“单词”?如果一个单词的长度超过字符限制,会发生什么情况?这保证在字符限制下,而单词之间有任何空格。(字符限制下不计算空格)据我所知,唯一不需要为顺序添加后缀的情况是当您只有1个chunk是的,这是正确的,考虑5个字符作为前缀并不总是有效。如果有多个数字块,比如10个chunk,那么后缀(1/10)会怎么样不再是5个字符,这个特定的块现在是31个字符,并且违反了所需的条件。