相关疑难解决方法(0)

面试问题:检查一个字符串是否是其他字符串的旋转

我的一位朋友今天在面试中被问到以下问题:软件开发人员的职位:

鉴于两个字符串s1,s2您将如何检查是否s1旋转版本s2

例:

如果s1 = "stackoverflow"那么以下是它的一些旋转版本:

"tackoverflows"
"ackoverflowst"
"overflowstack"
Run Code Online (Sandbox Code Playgroud)

其中,作为"stackoverflwo"旋转的版本.

他给出的答案是:

获取s2并找到作为子字符串的最长前缀,s1它将为您提供旋转点.一旦你找到那个点,突破s2该点处得到s2as2b,然后就检查concatenate(s2a,s2b) == s1

对我和我的朋友来说,这似乎是一个很好的解决方案.但面试官不这么认为.他要求一个更简单的解决方案.请告诉我你将如何做到这一点来帮助我Java/C/C++

提前致谢.

c c++ java

235
推荐指数
13
解决办法
11万
查看次数

C++迭代器被认为有害吗?

在今天的Boost图书馆会议上,"现代C++设计"和Loki C++库的作者Andrei Alexandrescu发表了题为"Iterators Must Go"(视频,幻灯片)的演讲,讲述了为什么迭代器不好,他有一个更好的解决方案.

我试着阅读演示幻灯片,但我无法从中得到很多.

  1. 迭代器坏了吗?
  2. 他的替代品真的更好吗?
  3. C++实现者会接受他的想法吗?

c++ iterator language-design

47
推荐指数
2
解决办法
1万
查看次数

标签 统计

c++ ×2

c ×1

iterator ×1

java ×1

language-design ×1