lower_bound和upper_bound的实现
2024-08-31 09:42:52
int lowerBound(int* nums, int numsSize, int target) {
//注意left和right的初始值必须是left = 0, right = numsSzie, 因为返回的位置可能是[0,numsSize]
int left = 0;
int right = numsSize;
int mid;
while (left < right)
{
mid = left + (right - left) / 2;
if (nums[mid] >= target)
right = mid;
else
left = mid + 1;
} return left;
} int upperBound(int* nums, int numsSize, int target) {
int left = 0;
int right = numsSize;
int mid;
while (left < right)
{
mid = left + (right - left) / 2;
if (nums[mid] <= target)
left = mid + 1;
else
right = mid;
}
return left;
}
最新文章
- 搜狗输入法linux安装 以及 12个依赖包下载链接分享
- 关于几种编程过程中的注释(TODO、FIXME、XXX等)
- oracle之压缩表
- 注意啦!10 个你需要了解的 Linux 网络和监控命令
- 让input不可编辑的方法
- iOS开发——UI篇Swift篇&;玩转UItableView(一)基本使用
- jquery的小插件(按钮抖动)——衍生QQ窗口抖动
- jquery判断复选框是否选中
- RPM命令用法详解
- Android Studio中导入Android项目StepbyStep
- JS 处理十六进制颜色渐变算法-输入颜色,输出渐变rgb数组
- android把图片 视频 保存到相册
- HDU1465-装错信封-递推
- jQuery each和js forEach用法比较
- 9.jexus 配置ssl
- 2015年 10月最新苹果IOS上架App Store商店步骤
- malloc的内存分配原理
- 【WebService】快速构建WebService示例
- ERROR: openstack Error finding address for http://10.16.37.215:9292/v1/images: [Errno 32] Broken pipe
- BloomFilter ——大规模数据处理利器
热门文章
- Java类集框架详细汇总-底层分析
- Android Studio 如何运行单个activity
- Redis 6.1 redis-cluster-proxy 实践说明
- 【Visual Studio调教小记录】C++指针靠前靠后??
- 仿VUE创建响应式数据
- 如何用 Electron + WebRTC 开发一个跨平台的视频会议应用
- Unity2D项目-平台、解谜、战斗! 1.2战斗组件Defence、Attack
- Java(246-264)【List、Set】
- shell脚本 4 函数与正则
- 《C++ primer》学习笔记整理