当前位置: 首页 > 面试经验 >

8月25日 奇安信算法工程师笔试

优质
小牛编辑
156浏览
2023-03-28

8月25日 奇安信算法工程师笔试

1.计算城市通路数目 DFS

题目描述:判断从城市0到城市4有多少条路可以通;0和4城市之间的网络拓扑是有向无环图,计算0到4有多少条路可以走

class Solution{
    def __init__(self):
        self.res = 0 
    
    def DagPathNum(self , nodes: List[List[int]]) -> int:
        self.dfs(nodes[0], nodes);
        return self.res
    
    def dfs(self, node:List[int], nodes:List[List[int]]){
        for nxt in node:
            if nxt == len(nodes) - 1:
                self.res += 1
            else:
                self.dfs(nodes[nxt], nodes)
    }
}


2. 查找直角坐标系内的两个点使他们与x轴围成的长方形面积最大

题目描述:
给定一个无符号整数数组,每个元素表示一个点,数组元素的索引作为直角坐标系的x坐标,元素作为y坐标,任意两个点:x轴方向的距离作为长方形的长,y轴方向的最小值作为长方形的宽,找到两个点使长方形面积最大,输出面积。
 例如 [4,1,2,7]代表4个点(0,4),(1,1),(2,2),(3,7),点(0,4),(1,1)表示的长方形:长=(1-0),宽=min(4,1),面积=长*宽=1

方法同LC“11.盛水最多的容器”
#奇安信笔试#
 类似资料: