算法题,不限编程语言,c/c++/java/python都可以·,请会的留下代码

 结果要求O(n)有点过分了,不管如何,都得遍历两次,就算你用指针那也得O(16)啊

A=[[1,1,1,1],
   [1,0,0,1],
   [0,0,1,1],
   [0,0,0,0]]
def find_vertex(A):
    row=len(A)
    res=[]#保存结果
    for i in range(0,row):
        if 1 not in A[i]:
            count=0
            for j in range(0,row):
                if A[j][i]==1 and i !=j:
                    count+=1
            if count==row-1:
                res.append(i)
    
    return res
print(find_vertex(A))

 

邻接矩阵要求O(|V|)就过分了...要是十字链表还可以递归每个顶点达到O(|V|).....