[容易]搜索插入位置
题目来源:http://www.lintcode.com/zh-cn/problem/search-insert-position/
C++版 VS2012测试通过
1 //#include <iostream>
2 //#include <vector>
3 //using namespace std;
4
5 class Solution {
6 /**
7 * param A : an integer sorted array
8 * param target : an integer to be inserted
9 * return : an integer
10 */
11 public:
12 int searchInsert(vector<int> &A, int target) {
13 // write your code here
14 // find first position >= target
15 if (A.size() == 0) {
16 return 0;
17 }
18 int start = 0, end = A.size() - 1;
19 while (start + 1 < end) {
20 int mid = (end - start) / 2 + start;
21 if (A[mid] >= target) {
22 end = mid;
23 } else {
24 start = mid;
25 }
26 }
27 if (A[start] >= target) {
28 return start;
29 }
30 if (A[end] >= target) {
31 return end;
32 }
33 return A.size();
34 }
35 };
36
37 //测试
38 //int main()
39 //{
40 // Solution s;
41 //
42 // int a[]={0,3,5,6};
43 // vector<int> v(a,a+4);
44 //
45 // int result=s.searchInsert(v,7);
46 // cout<<result;
47 //}
Python2.7版 spider测试通过
1 class Solution: 2 """ 3 @param A : a list of integers 4 @param target : an integer to be inserted 5 @return : an integer 6 """ 7 def searchInsert(self, A, target): 8 if len(A) == 0: 9 return 0 10 start, end = 0, len(A) - 1 11 # first position >= target 12 while start + 1 < end: 13 mid = (start + end) / 2 14 if A[mid] >= target: 15 end = mid 16 else: 17 start = mid 18 19 if A[start] >= target: 20 return start 21 if A[end] >= target: 22 return end 23 return len(A) 24 25 #测试 26 #if __name__=="__main__": 27 # s=Solution() 28 # L=[1,3,5,6] 29 # print s.searchInsert(L, 2)
-------------------------------------------------
原创博客 转载请注明出处http://www.cnblogs.com/hslzju
-------------------------------------------------
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· .NET 进程 stackoverflow异常后,还可以接收 TCP 连接请求吗?
· 本地部署 DeepSeek:小白也能轻松搞定!
· 基于DeepSeek R1 满血版大模型的个人知识库,回答都源自对你专属文件的深度学习。
· 在缓慢中沉淀,在挑战中重生!2024个人总结!
· 如何给本地部署的DeepSeek投喂数据,让他更懂你
· 大人,时代变了! 赶快把自有业务的本地AI“模型”训练起来!