找出字符串
来源:互联网 发布:淘宝网店复制需要吗 编辑:程序博客网 时间:2024/06/06 14:29
- 有一个排过序的字符串数组,但是其中有插入了一些空字符串,请设计一个算法,找出给定字符串的位置。算法的查找部分的复杂度应该为log级别。
给定一个string数组str,同时给定数组大小n和需要查找的string x,请返回该串的位置(位置从零开始)。 - 测试样例:[“a”,”b”,”“,”c”,”“,”d”],6,”c”, 返回:3
class Finder {public: int findString(vector<string> str, int n, string x) { int start = 0, end = n - 1, mid; while(start <= end){ mid = (start + end)/2; if(str[mid] == x) return mid; else if(str[mid] == " "){ for(int i = mid - 1; i >= start; --i){ if(str[i] == " "){ if(i == start){ start = mid + 1; break; } }else{ if(str[i] < x){ start = mid + 1; break; }else if(str[i] == x){ return i; }else{ end = i; break; } } } }else if(str[mid] > x){ end = mid - 1; }else start = mid + 1; } return -1; }};
0 0
- 找出字符串
- 找出字符串
- 找出字符串
- 找出字符串
- 找出字符串
- 找出字符串
- 找出字符串
- 找出字符串的组合
- 找出字符串中的中文
- 牛客网 | 找出字符串
- java找出字符串中的汉字
- 找出字符串中最长数字
- 找出字符串中最长的数字字符串
- 从字符串中找出数字字符串
- 找出字符串中最长的数字字符串
- 找出字符串中最长数字字符串
- 在字符串中找出第一个数字
- 找出给定字符串对应的序号...
- python通过函数变量(深拷贝)来返回值
- 数据存储—文件的基本操作
- JS小技巧:禁用浏览器后退按钮
- VC++模拟键盘消息
- Liblinphone 3.9.1中文--Modules--Managing authentication: userid and passwords
- 找出字符串
- Android SQLite 数据库升级终极模板代码
- android之图片加载框架fresco
- 转自: http://book.51cto.com/art/201004/193743.htm
- C++ hdoj 2041 超级楼梯
- 【初极C语言】关于一个扫描Gpio的程序改善
- Html知识点1
- iOS应用意见反馈代码块
- 多媒体网络教室系统