力扣839.相似的字符串组——python

该博客探讨了LeetCode 839题的解决方案,主要使用Python实现。通过理解题意,知道只要一组中有任意两个字符串相似,即可归为同一组。博主介绍了如何利用并查集来建立字符串之间的关系,并指出在力扣的Python环境中,全局变量的限制,需要在函数内创建类以更新状态。文中提供了关键代码片段,展示了如何在连接字符串时更新并查集。
摘要由CSDN通过智能技术生成

先理解一下题目的意思,这个组中只要一个与其他的一个相似,就可以加入这个组,也就是说一个组中即使有两个不相似,他们也可以间接的连入关系
在这里插入图片描述
这时就需要并查集来建立关系了,这样才可以建立一个清晰的关系,保证不重复。
什么是并查集
我们这里并用不到全部部分,其实全部挺好的,在刷题的时候,发现global函数在力扣的python无用,也就是我们需要在函数中修改参数必须重新建立一个类,在类中进行修改,但是我们此时仍然可以利用并查集的特点进行解决。我们加入一个参数时
self.count = n
在连接时,每连接一次,count就需要减一,此时我们也对内容进行了修改
self.father[root_x] = root_y
这时候利用这个特点,依靠我们创建并查集的时候的特点,进行总和未连接的。
代码如下:

		x = len(strs[0])
        n = len(strs)
        parent = [i for i 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Leosaf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值