寫一個小程序,參數是含有10個整數的數組,計算10個正整數的平均值,找出這10個數中與平均值距離(差值得絕對值)最近的三個數,以距離大小對這三個數進行排序和輸出(與平均值距離最小的先輸出)


python實現代碼:

class Solution:
    def find(self,nums):
        ret = []
        sum = 0
        for num in nums:
            sum += num;
        avr = sum/len(nums)
        distance=[]
        for num in nums:
            distance.append(abs(num-avr))
        i = 0
        flag = []
        retflag = []
        while i < 3:
            data=distance[0]
            m = 0
            n = 0
            for num in distance:
                if num < data and num not in flag:
                    data = num
                    n = m
                m += 1
            flag.append(data)
            retflag.append(n)
            i+=1
        for num in retflag:
            ret.append(nums[num])
        return ret

if __name__ == '__main__':
    test=Solution()
    a=[33,44,61,2,36,42,56,81,11,17]
    b=test.find(a)
    print b

 運行結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM