2014-02-15 73 views
0

假设我们输入的字符串格式为I have/had alot/none/zero moneyc/C++根据子字符串变体生成不同的字符串

我想有一组输出字符串如下(例如1):

I have alot money 

I have none money 

I have zero money 

I had alot money 

I had none money 

I had zero money 

不过,这里真正的任务,是要能够选择一个或多个,或没有输入字符串来忽视。因此,输出字符串应该是这样的:

I money

first example

I alot money 

I none money 

I zero money 

I

money

我希望你得到了点。 我该如何做到这一点,最友善的CPU周期?

好吧,打破僵局,这是林不愿意做,但考虑到光明的想法:

  1. 生成所有输出字符串(所提到的,例如1)。
  2. 迭代通过字符串,我筛选出符合我的标准,用“”替换不需要的子字符串。
  3. 仅当结果字符串不在那里时,才会将结果字符串放入最终输出数组中。

另外,为什么我关心cpu周期的答案很简单:这个任务需要的时间越长,阻塞工作线程的时间就越长。

+2

'我希望你明白了。'不,对不起。 –

回答

0

这种简单的方法是找到所有的空间和/字符,并把单词变成两个级别列表,你再得到一个结构是这样的:

  • 有,有
  • 很多,没有,零

现在,您只需循环树并生成结果字符串。

为了将它推到一个矫枉过正的地步,你也可以编写一个令牌解析器而不是strchr。

我该如何做到这一点,最友善的cpu周期?

你为什么在意?

+0

谢谢你的时间和精力,但我猜想即时寻找什么,是'循环'的想法。 – user3314134

相关问题