https://oj.leetcode.com/problems/search-insert-position/

数组有序,给一个数,看它是否在数组内,如果是则返回位置,如果不在则返回插入位置。

因为原数组有序,所以使用二分查找。

注意:如果是要插入这个元素的话,当target元素小于begin时候,是在begin位置上插入,如果大于则在begin+1位置上插入。

要测试数组为空,或者只有一个元素时候情况。

#include <iostream>
using namespace std; class Solution {
public:
int searchInsert(int A[], int n, int target) {
if(n==)
return ;
int begin = ;
int end = n-;
int middle = (begin + end)/;
while(begin<end)
{
if(target == A[middle])
return middle;
else if(target<A[middle])
end = middle - ;
else
begin = middle+;
middle = (begin + end)/;
}
if(A[begin] >= target )
return begin;
return begin +; }
}; int main()
{
int arr[] = {,,,};
Solution myS;
cout<<myS.searchInsert(arr,,);
}

最新文章

  1. python基础补漏-01
  2. JAVA 技术手册 卷1 第十四章『多线程』 读书摘要
  3. CommonJS规范
  4. 解决 arcGis android TextSymbol乱码的问题
  5. 现代程序设计——homework-06
  6. [每日一题] 11gOCP 1z0-052 :2013-08-31 数据库的存储结构....................................................A8
  7. xlslib安装, aclocal-1.13: command not found, 安装升级autoconf-2.65.tar.gz, automake-1.13.tar.gz两个文件
  8. Activity内部Handler引起内存泄露的原因分析
  9. 整理的sql sever一些数据库查询面试题
  10. HDU2842-Chinese Rings(递推+矩阵高速幂)
  11. 前端开发面试题收集 HTML
  12. css小技巧,如何制作一个箭头符号
  13. 深入理解ES6之—对象
  14. C#学习笔记——MDI窗体(多文档界面)
  15. Python系列之 - 异常处理
  16. (后端)Sql Server日期查询-SQL查询今天、昨天、7天内、30天(转)
  17. MySQL中kill掉所有表的进程
  18. Python列表推导式
  19. arcgis的afcore_libfnp.dll经常被360杀毒,删除,请到恢复区恢复
  20. python2x与3x下使用urlretrieve下载文件

热门文章

  1. 批量ping IP并检测IP延迟率和丢包率脚本
  2. python-matplotlib-lec1
  3. RMQ原理及实现
  4. 下拉列表 Spinner
  5. Solr 7 部署与使用踩坑全记录
  6. 一步一步解剖Libevent源代码 - 0
  7. 淘宝的TProfile分析
  8. python学习--Python之import与from...import的区别与用法
  9. niubi-job:一个分布式的任务调度框架设计原理以及实现
  10. [git 学习篇]git管理的是修改,并非文件