这里只是编程题部分,前面还有很多算法的考察。

第一题

描述了很复杂,实际上就是回文。看描述把我看蒙了。

def Solution(x):
#将int转化为str,将str反转后,再转化为int。判断反转前和反转后的int是否相同
if x >=0 and x == int(str(x)[::-1]):
return True
else:
return False
x=121
Solution(x)

第二题

大概内容:给定一个目标值和数组。如果目标值在数组中,则返回下标,否则返回-1。如果时间复杂度为O(n)不得分。

采用方法,二分查找:

nums=input()
target=input()
def search(nums,target):
left=0
right=len(nums)-1
while(left<=right):
mid=int((right+left)/2)
if nums[mid]<target:
left=mid+1
elif nums[mid]>target:
right=mid-1
elif nums[mid]==target:
return mid

return -1

search(nums,target)