一、前记(3/3)

咕咕咕咕咕咕咕咕咕咕咕,咕呱咕呱,布谷布谷

二、题目描述(易)

三、解题思路

1、我的思路

简简单单,我的解题思路其实非常简单。当我看到题目的时候脑壳里面就已经冒出来两种做法了。

做法一:利用numpy来求得中位数,求得中位数之后,再看得到的值在原列表的索引为多少。

import numpy as np
class Solution:
    """
    @param a: the array a
    @return: return the index of median
    """
    def getAns(self, a):
        ava=np.median(a)
        if ava in a:
            return a.index(ava)

#as a checking
solution=Solution()
a=[1,3,2,5,4]
print(solution.getAns(a))

比较可惜的是,算法检测的时候是不能导入numpy库的,只能使用纯算法。于是就有了算法二

做法二:不使用numpy直接使用纯算法
参考代码:

class Solution:
    """
    @param a: the array a
    @return: return the index of median
    """
    def getAns(self, a):
        if len(a) == 0:
            return 0  
            
        b = sorted(a)
        m = 0

        if len(b) % 2 == 0:
            m = b[int(len(b) / 2) - 1]
        else:
            m = b[int(len(b) /2)]
        
        for i in range(len(a)):
            if a[i] == m:
                return i