编程之美,3.11程序改错, 二分扩展
来源:互联网 发布:r语言入门 知乎 编辑:程序博客网 时间:2024/06/01 08:41
#include <iostream>using namespace std;int find1(int *a, int start, int end, int b){//给定一个有序序列a,求任意一个i使得a[i]等于b,不存在返回-1.int mid;while(start<=end){mid = start + (end-start)/2;if(a[mid]<b){start = mid+1;}else if(a[mid] > b){end = mid-1;}else{return mid;}}return -1;}int find2(int *a, int start, int end, int b){// 给定一个有序序列a,求任意最小的i使得a[i]等于b,不存在返回-1.int mid ;while((start+1) < end){mid = start+(end-start)/2;if(a[mid] >= b)end = mid;elsestart = mid;}if(a[end] == b) return end; else if(a[start]==b) return start;else return -1;}int find3(int *a, int start, int end, int b){// 给定一个有序序列a,求任意最大的i使得a[i]等于b,不存在返回-1.int mid ;while((start+1) < end){mid = start+(end-start)/2;if(a[mid] > b)end = mid;elsestart = mid;}if(a[end] == b) return end; else if(a[start]==b) return start;else return -1;}int find4(int *a, int start, int end, int b){// 给定一个有序序列a,求任意最大的i使得a[i]小于b,不存在返回-1.int mid ;while((start+1) < end){mid = start+(end-start)/2;if(a[mid] < b)start = mid;elseend = mid;}if(a[start]<b && a[end]>=b) return start;else if(a[end]<b) return end;else return -1;}int find5(int*a, int start, int end, int b){//给定一个有序数组a,求最小的i使得a[i]大于b,不存在则返回-1.int mid;while((start+1) < end){mid = start + (end-start)/2;if(a[mid] > b) end = mid;else start = mid;} if(a[start] > b) return start;else if(a[start]<=b && a[end]>b) return end;else return -1;}int main(){int a1[]={1,2,3,4,4,5};int a2[]={1,2,2,2,2,3};int a3[]={1,2,3,4,5,6};int b = 4;cout<<find5(a2,0,5,10)<<endl;cout<<find5(a3,0,5,4)<<endl;return 0;}
0 0
- 编程之美,3.11程序改错, 二分扩展
- 二分查找 编程之美3.11 程序改错
- [编程之美] PSet3.11 程序改错:二分查找与扩展
- 编程之美-程序改错及扩展问题
- 编程之美-程序改错及扩展问题
- 编程之美-程序改错及扩展问题
- 读书笔记之编程之美 - 3.11 程序改错
- 编程之美-程序改错方法整理
- 编程之美3-11程序改错
- 《编程之美》“程序改错”一文之我见
- 编程之美:第三章 结构之法 3.11程序改错
- 3.11 程序改错(二分查找)
- 编程之美3.11 二分查找常见问题
- 编程之美3.11 二分查找
- 编程之美 3.11二分查找系列
- 编程之美3.11扩展问题
- 《编程之美》3.11 扩展问题
- 编程之美:二分查找
- 字符串String 池
- CSS透明opacity和IE各版本透明度滤镜filter的最准确用法
- uC/OS-II 学习笔记:任务创建步骤
- 第一天-Java语言简介,环境搭建等
- 学拳录 24中盘 (07.29更新)
- 编程之美,3.11程序改错, 二分扩展
- 逆序输出
- 100个精彩的开源游戏
- OCP 1Z0 053 193
- Load BitmapData
- hdu 1542 求矩形并的面积
- (转)sort && qsort
- 【组合数学】 HDOJ Turn the pokers
- hdu 4865 dp