leetcode-第11场双周赛-5088-等差数列中缺失的数字

题目描述:

 自己的提交:

class Solution:
    def missingNumber(self, arr: List[int]) -> int:
        if len(arr) == 2:
            return arr[0] + (arr[1] - arr[0]) //2
        if len(set(arr)) == 1:
            return arr[0]
        if arr[1]-arr[0] > 0:            
            m = min(arr[1]-arr[0],arr[-1]-arr[-2])
        else:
            m = max(arr[1]-arr[0],arr[-1]-arr[-2])
        for i in range(1,len(arr)):
            if arr[i] != arr[i-1] + m:
                return arr[i] - m

方法二:

class Solution:
    def missingNumber(self, a: List[int]) -> int:
        l = len(a)
        ma = max(a)
        mi = min(a)
        s = sum(a)
        return (ma+mi)*(l+1)//2-s

猜你喜欢

转载自www.cnblogs.com/oldby/p/11712443.html