[LeetCode]35.Search Insert Position
来源:互联网 发布:java数据同步 编辑:程序博客网 时间:2024/06/10 00:41
【题目】
Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.
You may assume no duplicates in the array.
Here are few examples.[1,3,5,6]
, 5 → 2[1,3,5,6]
, 2 → 1[1,3,5,6]
, 7 → 4[1,3,5,6]
, 0 → 0
【分析】
这道题比较简单,就是二分查找。思路就是每次取中间,如果等于目标即返回,否则根据大小关系切去一半。因此算法复杂度是O(logn),空间复杂度O(1)。
【代码】
/********************************** 日期:2015-01-24* 作者:SJF0115* 题目: 35.Search Insert Position* 网址:https://oj.leetcode.com/problems/search-insert-position/* 结果:AC* 来源:LeetCode* 博客:**********************************/#include <iostream>#include <vector>using namespace std;class Solution {public: int searchInsert(int A[], int n, int target) { if(n <= 0){ return -1; }//if int start = 0,end = n - 1; // 二分查找 while(start <= end){ int mid = start + ((end - start) >> 1); // 目标找到 if(A[mid] == target){ return mid; }//if // 目标在左半部分 else if(A[mid] > target){ end = mid - 1; }//else // 目标在右半部分 else{ start = mid + 1; }//else }//while // 目标元素没有找到则找插入位置 return start;// end + 1 }};int main(){ Solution solution; int A[] = {1,3,5,6}; int n = 4; int target = 0; int result = solution.searchInsert(A,n,target); // 输出 cout<<result<<endl; return 0;}
0 0
- [LeetCode]35.Search Insert Position
- LeetCode --- 35. Search Insert Position
- LeetCode 35.Search Insert Position
- [Leetcode] 35. Search Insert Position
- LeetCode 35. Search Insert Position
- [leetcode] 35.Search Insert Position
- Leetcode 35. Search Insert Position
- 35. Search Insert Position LeetCode
- [LeetCode]35. Search Insert Position
- LeetCode 35. Search Insert Position
- 【LeetCode】35. Search Insert Position
- leetcode 35. Search Insert Position
- leetcode 35. Search Insert Position
- LeetCode 35. Search Insert Position
- LeetCode *** 35. Search Insert Position
- leetcode 35. Search Insert Position
- [LeetCode]35. Search Insert Position
- LeetCode 35. Search Insert Position
- LeetCode - Binary Tree Inorder Traversal
- Robotium--takeScreenshot(截图)
- Java多线程——同步(一)
- Java8集合中的Lambda表达式
- Python连接mssql数据库乱码(中文变问号)解决方法
- [LeetCode]35.Search Insert Position
- NFC
- Java线程的5个使用技巧
- Android中全屏 及 去掉标题栏
- 在应用中升级ARM-Linux内核映像
- Java解析JSON
- excel 单元格增加内容
- GCC 共享库在链接时的搜索位置和优选次序
- Codeforces Round #287 (Div. 2) C. Guess Your Way Out!