记录一下华为的两次机试:找出有向图中所有的圈并且输出/算合法字符串/计算器

这篇博客记录了作者在华为机试中遇到的两道题目,包括寻找有向图中的所有圈和实现计算器。尽管作者认为题目本身不难,但在实际操作中遇到了困难,尤其是代码在本地IDE通过但在测试平台上无法通过,导致心情失落。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

华为的一道机试题目,不知道为什么自己脑子抽了一下想了很久很久(其实主要还是DFS太不熟了

代码也不是很elegant,将就记录一下。

class Node:
    def __init__(self, data, next = None):
        self.data = data
        self.next = next
def dfs(graph, stack, destination, hasLoop, visited):
    if(len(stack) == 0):
        return False
    else:
        v = stack[-1]
        temp = graph[v]
        while temp.next is not None:
            if v==destination:
                visited = [0]*10
                visited[v] = 1
            if temp.next.data == destination:
                hasLoop[destination] = 1
                print(stack)
            else:
                if visited[temp.next.data] == 0 and temp.next.data>destination:
                    visited[temp.next.data] = 1
                    stack.append(temp.next.data)
                    dfs(graph, stack, destination,hasLoop,visited)
            temp &#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值