algorithm - 猜猜给定随机三元组的字符串

标签 algorithm

给定一个未知字符串,执行一个实用函数,称为

string returnRandomTripletFromString(string)

该函数从未知字符串中返回一个随机三元组,您还得到了字符串的长度

效用函数返回的随机三元组,将保持字符串中字母的相对顺序,

假设字符串是 helloworld 它会返回

'hel', 'wod', 'lor'

但它永远不会回来

'lhd'

因为h在字符串中l之前

你如何使用这个实用函数猜测字符串,使用最少的函数调用次数。

最佳答案

这可能发生在 多次 次调用随机三元组函数之后。

Suppose our string was "hello"

让调用随机三元组函数在每次调用时给出以下但不一定按此顺序:

ell
llo
hel
hlo
elo

如果我根据从随机三元组函数获得的字符创建一个图形:

enter image description here

从这个图中,我只能解释起始字母可能是

'H'

结尾字母可能是

'O'

Then if I find the longest path in the graph. I will get "hello" or "olleh" depending upon where I begin from.

此外,路径中访问的节点数将等于字符串的长度。

假设:

  1. 我只能在调用随机三元组函数后创建此图 多次。
  2. 每次我从随机函数中得到唯一的三元组来构建图

关于algorithm - 猜猜给定随机三元组的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24747611/

相关文章:

objective-c - 基于剩余时间、用户等级和难度的游戏评分算法?

algorithm - 红黑树插入: why make nodes red when inserted?

algorithm - 什么算法计算一组集合中公共(public)元素的频率?

algorithm - 使用数组的合并排序的空间复杂度

php - 将字节数据编码成数字

algorithm - 对一组有约束的项目进行排序

python - 如何测试一个字符串是否是另一个字符串的子序列?

c# - 将平面 JSON 转换为嵌套 JSON

vb.net - 我怎样才能简化和优化这个校验和代码?

algorithm - 保序散列函数