Leetcode Search Insert Position

本文介绍了一种简单算法,该算法能在已排序数组中查找指定的目标数字,并返回其位置;若目标数字不存在,则返回其应插入的位置。文章详细解释了如何通过字符串处理将输入转换为数组,并给出了具体实现代码。
    这道题算法很简单,遍历已经排好序的数组返到目标数字的位置,如果找不到目标数字,就返回此数字按序应该插入到数组中的位置。有一个要处理的细节就是如何将输入形如[1,2,3,4], 2的字符串转化为数组。在查找相关字符串处理方法之后,我选择用replace(old,new)来处理字符串,将字符串中的'[',']',',',' '转化为空字符串,这样字符串中就只剩下数组。将数组中最后一个数字pop,因为这是目标数字。随后遍历数组与这个数字相比较,记录数字的位置即可。代码如下所示:
arr=input()
arr=arr.replace('[','').replace(']','').replace(',','').replace(' ','')
num=[int(n) for n in arr]
a=num.pop()
l=len(num)
pos=0
temp=0
for i in range(0,l):
	if a==num[i]:
		print(pos)
		temp=1
		break
	elif a > num[i]:
		pos+=1	

if temp==0:
	print(pos)		
		


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值