在1和0的字符串中查找0的第一个匹配项

mc20

这是一个面试问题:

在0和1的排序字符串中,找到第一个出现的0。字符串将带有一个,然后是零。

例如。

111110  , Return value:5  
11100000 , Return value:3  
11111111, Return value:-1  
00000000, Return 0  

基本方法:

  • 线性搜索:O(n)
  • 二进制搜索以查找0的第一次出现:O(logn)

有没有更好的解决方案,可能在O(1)中。

采访者提供了一个线索,可以将字符串转换为数字,然后可以执行一些日志操作,但是我无法弄清楚。

米歇尔·比洛(Michel Billaud)

有n + 1个不同的字符串和可能的结果,因此提供正确答案所需的信息量(即程序必须进行的最少测试次数)为O(ln n)。

这是此处“ https://en.wikipedia.org/wiki/Find_first_set ”中讨论的“查找第一位集”问题的发生

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Bash脚本在URL之后查找字符串的第一个匹配项

用字典中的第一个匹配项替换字符串

C#RegEx-仅获得字符串中的第一个匹配项

正则表达式查找字符之间的字符串的第一个匹配项

根据字符串中的第一个字符,找到字符串列表中元素的第一个匹配项

string [0]从字符串中获取第一个字符

匹配字符串的多个部分作为第一个匹配项

重击字符串替换/匹配:跳过第一个匹配项

ksh shell脚本查找字符串中_的第一个匹配项并删除所有内容,直到

在字符串数组中查找下一个匹配项的索引和值

在给定特定字符串组的情况下,如何查找任何字符串的第一个匹配项?

在字符串中查找第一个配对字符串

根据关键字提取字符串的第一个匹配项

为什么NSScanner找不到目标字符串的第一个匹配项?

从一个文件中读取字符串,grep在另一个文件中的第一个匹配项

在Java中以长文本查找给定子字符串的第一个匹配的完整单词

正则表达式替换特定匹配项的字符串的第一个和最后一个字符

IncrediBuild-错误:字符串的第一个字符应为“ 0”或“ 1”

正则表达式以匹配字符串的第一个匹配项与最后一个匹配的字符串

在PowerShell中替换字符串中的第一个匹配字符

循环遍历列表中的字符串项并检查字符串项的第一个索引

从字符串中删除第一个字符(如果为0)

获取JavaScript中两个字符串之间的字符串的第一个匹配项

查找字符串C中字符的第一个位置

查找字符串中的第一个非重复字符

查找数组字符串中的第一个字符

从字符串中删除匹配的第一个字符

如何模式匹配字符串中的第一个字符

编写一个函数,将一个字符串中的第一个匹配项从另一个字符串中删除。