leetcode 815

Posted 东东就是我

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 815相关的知识,希望对你有一定的参考价值。

class Solution(object):
    def numBusesToDestination(self, routes, source, target):
        """
        :type routes: List[List[int]]
        :type source: int
        :type target: int
        :rtype: int
        """
        if source==target:
            return 0
        for r in routes:
            if  source in r and target in r:
                return  1
        source_index = []
        target_index = []
        for j in routes[:]:
            if source in j:
                source_index.append(j)
                routes.remove(j)
            if target in j:
                target_index.append(j)
                routes.remove(j)
        n=2
        num=get_intersection(routes,source_index,target_index,n)
        return num

def get_intersection(routes,source,target,n):
    #如果有交集
    source_=[]
    for s in source:
        for t in target:
            if len(list(set(s).intersection(set(t)))):
                return n
                break
    for s in source:
        for val in routes[:]:
            if len(list(set(s).intersection(set(val)))):
                    routes.remove(val)
                    source_.append(val)
    n+=1
    if (len(source_)==0 & len(routes)==0):
        return -1
    return get_intersection(routes, source_, target, n)

以上是关于leetcode 815的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode 815. Bus Routes

[LeetCode] 815. Bus Routes 巴士路线

[LeetCode] 815. 公交路线

Leetcode 815. Bus Routes

LeetCode 815 公交线路[BFS Map] HERODING的LeetCode之路

LeetCode 815. 公交路线 / 909. 蛇梯棋(还是bfs)/ 168. Excel表列名称 / 171. Excel表列序号