第一题
任取数组中的一个数然后将它放置在数组的最后一个位置。问最少操作多少次可以使得数组从小到大有序?
题解
排序后 两个数组对比找相同的元素,不同的代表已经换了位置 记录相同的 然后用length 减去就行
代码
#
class Solution:
def sort(self, inData):
arr = list(map(int,inData.split()))
arrSort = sorted(arr)
cnt = 0
i = 0
j = 0
while i < len(arr) and j < len(arrSort):
if arr[i] == arrSort[j]:
cnt+=1
i+=1
j+=1
elif arr[i] > arrSort[j]:
i+=1
else:
j+=1
return len(arr)-cnt
第二题
求连续子数组的最大和
题解
暴力直接过了emmm
每次枚举 i-j的sum 然后求一个最大值就OK
###代码
class Solution:
def findGreatestSumOfSubArray(self , array ):
# write code here
arr = list(map(int,array))
ans = 0
for i in range(len(arr)):
for j in range(i,len(arr)):
ans = max(ans,sum(arr[i:j+1]))
return ans