gpt4 book ai didi

c++ - C/C++ 字符串转移到特定元素 - 最少的步骤

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:13:09 24 4
gpt4 key购买 nike

这是我的困境。

例如我有这个字符串:

"1 2 3 4 5 ..... 100",但它可以是任何长度(通常大得多,谈论 4 位数字)。

我需要做的:根据已知位置重新排列字符串的元素。例如:所讨论的位置是 70。我需要有以下输出:“70 71 ....100 1 2 3 ...69”

条件:

  1. 我知道 key :例如上面的“70”。也可以是 500、5000,取决于字符串长度。
  2. 我不能使用任何字符串缓冲区或字符串管理函数。
  3. 几乎没有内存可用。
  4. 有两个可用的 1 字节缓冲区。
  5. 操作应该以尽可能少的步骤完成(时间紧迫)。

我一直在努力寻找一个不依赖于字符串中键位置的好算法。基本上左/右移动取决于我仍然是哪一半,这使得它进行了大量的读/写,我不希望那样。

非常感谢!

最佳答案

std::vector<std::string> numbers((std::istream_iterator<std::string>(std::cin)),
std::istream_iterator<std::string>());
std::rotate(numbers.begin(), numbers.begin() + 70, numbers.end());

关于c++ - C/C++ 字符串转移到特定元素 - 最少的步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9071075/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com