c++ - 字符串数组中的二分查找
问题描述
因此,我一直在尝试在字符串数组中实现以下问题 https://www.hackerrank.com/challenges/sparse-arrays/problem?isFullScreen=true的二进制搜索, 因为我正在对“字符串”进行排序向量并使用二分搜索来降低时间复杂度,但我在使用 stl 函数 strcmp 时遇到错误。
感谢您对解决问题的任何帮助。
bool binarysearch(string s,vector<string > strings){
int left = 0;
int right = strings.size()-1;
while(left <= right){
int mid = (left+right)/2;
int x = strcmp(s,strings[mid]);
if(x == 0){
return true;
}else if(x < 0){
left = mid+1;
}else if(x > 0){
right = mid-1;
}
}
return false;
}
解决方案
推荐阅读
- javascript - 基于 id 的 Javascript 过滤器
- vba - 运行时错误 4605。此方法或属性不可用,因为文档窗口未处于活动状态
- django - ssl 无效 ClearDB Heroku Django
- c# - 用小写替换大写字母 - 反之亦然
- javascript - 使用引号和单引号时使用的第三个字符
- c++ - 在 clion 中使用 WSL 时 C++ 代码无法编译
- python - 如何根据列的子字符串值和计数使用 Python Dataframe 创建数据透视表?
- javascript - 当我使用 dataType 作为“文本”的 ajax 调用时,为什么浏览器会显示 XML 解析错误?
- javascript - 打开由javascript生成的链接并返回原始页面后如何使用selenium保留原始页面的元素
- javascript - 如何在图表js注释上添加图例