【发布时间】:2012-02-25 03:48:02
【问题描述】:
我在一次采访中被问到这个问题, 如果您要找出一个字符串是否仅由一组给定的字符组成。 例如,让字符串集是 {0,1,2,3,4,5,6,7,8,9} 上的所有字符串,即所有“数字”字符串。其中,如果超过 {3,8,5} 的字符串集只是有效的,我如何检查字符串是否只包含有效字符。 说:
Input 8888338385
Output VALID
Input 887837348234
Output : Invalid
我建议的方法是蛮力,需要根据无效字符列表检查给定字符串中的每个字符。如果任何一个字符无效,我会跳过检查所有其他字符并显示失败消息。 但是,正如here 所建议的那样,可能会有更好的算法。 请帮忙。
【问题讨论】:
-
首选的解决方案是 c/c++ 或 java。因此标签。
-
定义
better。内存消耗少?更高的速度?更容易理解和维护?