今天的題目還算簡單,單純把一個陣列最大總數與最小算出來,不過題目給的arr並不是亂數,所以就沒有重新進行排列。
解這些題目時,並不是甚麼最佳化解,出發點是以能了解題目在說甚麼,解題方式是目前自己可以理解並解答完成的模式去走,先解的出來,未來再一步步朝著更高一階去進行,所以請別太苛責啦!!
小雷的MiniMaxSum Solution :
'''
題目 :
計算arr減去頭尾的最大最小值
arr_min = 1,3,5,7,arr_max = 3,5,7,9
範圍 :
1 <= arr[i] <= 10**9
解題方向 :
判斷範圍
判斷arr開頭與結尾的
總加後減去頭尾
'''
def MiniMaxSum(arr) :
arr_total = 0
arr_start = min(arr)
arr_end = max(arr)
for i in range(len(arr)) :
if 1 <= arr[i] <= 10**9 :
arr_total += arr[i]
else :
print("arr out of range")
print("arr_total = ", arr_total)
print("min = ", arr_total - arr_end)
print("max = ", arr_total - arr_start)
if __name__ == "__main__" :
arr = [1, 3, 5, 7, 9]
MiniMaxSum(arr)
沒有留言:
張貼留言