找出字符串
来源:互联网 发布:暗黑破坏神2画面优化 编辑:程序博客网 时间:2024/06/07 00:02
题目描述
有一个排过序的字符串数组,但是其中有插入了一些空字符串,请设计一个算法,找出给定字符串的位置。算法的查找部分的复杂度应该为log级别。
给定一个string数组str,同时给定数组大小n和需要查找的string x,请返回该串的位置(位置从零开始)。
测试样例:
["a","b","","c","","d"],6,"c"
返回:3
class Finder{public: int helper(vector<string>& str,int low,int high,string x,int& flag) { //flag的设置可以减少不必要的算法分支 if((low>high)||flag) return -1; int mid=(low+high)/2; if(str[mid]==x) { flag=1; return mid; } if(str[mid]=="") { int left=helper(str,low,mid-1,x,flag); int right=helper(str,mid+1,high,x,flag); if(left!=-1) return left; else return right; } else { if(str[mid]>x) { return helper(str,low,mid-1,x,flag); } else return helper(str,mid+1,high,x,flag); } return -1; } int findString(vector<string> str, int n, string x) { // write code here int flag=0; return helper(str,0,n-1,x,flag); }};
0 0
- 找出字符串
- 找出字符串
- 找出字符串
- 找出字符串
- 找出字符串
- 找出字符串
- 找出字符串
- 找出字符串的组合
- 找出字符串中的中文
- 牛客网 | 找出字符串
- java找出字符串中的汉字
- 找出字符串中最长数字
- 找出字符串中最长的数字字符串
- 从字符串中找出数字字符串
- 找出字符串中最长的数字字符串
- 找出字符串中最长数字字符串
- 在字符串中找出第一个数字
- 找出给定字符串对应的序号...
- Android M 新的运行时权限开发者需要知道的一切
- 文本挖掘,我们想要得到什么
- Cloudera 5.7集群部署(一)--准备工作
- 【Dongle】【Web】牛腩新闻发布系统之终篇
- SpringMVC之HelloWorld
- 找出字符串
- BZOJ 4569: [Scoi2016]萌萌哒【倍增并查集
- Medical image registration(section7)
- HSDIS:JIT生成代码反汇编
- 数据结构-线性表
- boost-pretty-printer配置及问题
- 为了梦想,努力奋斗! 追求卓越,成功就会在不经意间追上你 mysql之触发器trigger
- 利用SharePoint 2013 创建Service Desk 网站之分配一线工程师支持!
- AbstractSet抽象类源码解析