c++ 计蒜客挑战难题第10题寻找插入位置 二分查找
2015-07-21 11:55
603 查看
#include <iostream>
using namespace std;
int searchInsert(int a[],int n,int target)
{
int min = 0, max = n-1, mid;
while (min < max) {
mid = (max+min) >> 1;
if (target > a[mid])
min = mid+1;
else if (target == a[mid])
return mid;
else
max = mid;
}
if (target > a[n-1])
return n;
return min;
}
int main()
{
int t, n, target = 0;
cin >> n;
int *a = new int
;
for (int i = 0; i < n ; i++)
cin >> a[i];
cin >> target;
cout << searchInsert(a,n,target);
return 0;
}
using namespace std;
int searchInsert(int a[],int n,int target)
{
int min = 0, max = n-1, mid;
while (min < max) {
mid = (max+min) >> 1;
if (target > a[mid])
min = mid+1;
else if (target == a[mid])
return mid;
else
max = mid;
}
if (target > a[n-1])
return n;
return min;
}
int main()
{
int t, n, target = 0;
cin >> n;
int *a = new int
;
for (int i = 0; i < n ; i++)
cin >> a[i];
cin >> target;
cout << searchInsert(a,n,target);
return 0;
}
相关文章推荐
- C++设计模式 之 原型模式
- C++中, 构造函数和析构函数能不能被显示调用?
- 如何在windows下用C++创建目录
- c/c++ 基金会(七) 功能覆盖,虚函数,纯虚函数控制
- C语言小程序源码
- Online Judge System For SzNOI 题库 语法百题 c++ d010
- C语言编程对缓冲区的理解
- Online Judge System For SzNOI 题库 语法百题 C++ d009
- c++学习笔记(2)类的声名与实现的分离及内联函数
- Online Judge System For SzNOI 题库 语法百题 C++ d008
- Online Judge System For SzNOI 题库 语法百题 C++ d007
- 判断字符串是否为回文数(c++ 顺序栈)
- Online Judge System For SzNOI 题库 语法百题 C++ d006
- 【C++】文件的读取与写入
- CString、string、char*之间的区别和转换
- C语言字符串中使用宏替换
- C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区
- Online Judge System For SzNOI 题库 语法百题 C++ d005
- Online Judge System For SzNOI 题库 语法百题 C++ d004
- leetcode之链表-单链表反转-C++