数组

1.给定一个矩阵 A, 返回 A 的转置矩阵。

矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。

def trans_matrix(matrix):
    (rows,cols)=matrix.shape
    matrix_obj=np.array([[0 for j in range(rows)] for i in range(cols)])
    for i in range(rows):
        for j in range(cols):
            matrix_obj[j][i]=matrix[i][j]
    return matrix_obj

import numpy as np
matrix=np.array([[1,2,3],[4,5,6]])
print(matrix)

result=trans_matrix(matrix)
print(result)

 2.数组中占比超过一半的元素称之为主要元素。给定一个整数数组,找到它的主要元素。若没有,返回-1。

示例 1:

输入:[1,2,5,9,5,9,5,5,5]
输出:5

 

示例 2:

输入:[3,2]
输出:-1

 

示例 3:

输入:[2,2,1,1,1,2,2]
输出:2

import numpy as np
def find_major(array):
    mydict={}
    array_len=len(array)
    for i in range(array_len):
        if array[i] not in mydict.keys():
            mydict[array[i]]=0
        mydict[array[i]]+=1
    dict_len=len(mydict)
    for key,value in mydict.items():
        if value/dict_len>0.5:
            return key
    return -1
myarray=np.array([2,2,1,1,1,2,2])
result=find_major(myarray)
print(result)

 

posted on 2020-10-10 09:43  happygril3  阅读(65)  评论(0)    收藏  举报

导航