写一个小程序,参数是含有10个整数的数组,计算10个正整数的平均值,找出这10个数中与平均值距离(差值得绝对值)最近的三个数,以距离大小对这三个数进行排序和输出(与平均值距离最小的先输出)

python实现代码:

复制代码
copy
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
复制代码

 运行结果:

 

posted @   谁的小流浪  阅读(2118)  评论(1编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起