当前位置: 首页 > article >正文

【LeetCode】839、相似字符串组

【LeetCode】839、相似字符串组

文章目录

  • 一、并查集
    • 1.1 并查集
  • 二、多语言解法

一、并查集

1.1 并查集

求共有几组, 联想到并查集, 即并查集有几个集合

字符串相似: 相差0个字符, 或2个字符

其中所有字符串长度都相同, 是比较方便处理的

// go
var sets int
var father [301]int

func numSimilarGroups(strs []string) int {
    n := len(strs)
    m := len(strs[0])
    build(n)
    for i := range n {
        for j := i+1; j < n; j++ {
            if find(i) == find(j) {continue} // 若已在一个集合中了, 而无需union
            diff := 0 // str[i] 和 str[j] 不同的字符数量
            for k := 0; k < m && diff < 3; k++ {
                if strs[i][k] != strs[j][k] {diff++}
            }
            if diff == 0 || diff == 2 {
                union(i, j)
            }
        }
    }
    return sets
}

func build(n int) {
    for i := range n {
        father[i] = i
    }
    sets = n
}

func find(i int) int {
    if father[i] != i {
        father[i] = find(father[i])
    }
    return father[i]
}

func union(a, b int) {
    fa, fb := find(a), find(b)
    if fa != fb {
        father[fa] = fb
        sets--
    }
}

参考左神 并查集

二、多语言解法

C p p / G o / P y t h o n / R u s t / J s / T s Cpp/Go/Python/Rust/Js/Ts Cpp/Go/Python/Rust/Js/Ts

// cpp
// go 同上
# python
// rust
// js
// ts

http://www.kler.cn/a/456060.html

相关文章:

  • React中最优雅的异步请求
  • Jenkins 构建流水线
  • C# OpenCV机器视觉:凸包检测
  • leetcode 热题100(78. 子集)dfs回溯 c++
  • 抖音小程序登录(前端通过tt.login获取code换取openId)
  • node-js Express防盗链
  • Cursor提示词
  • 【人工智能机器学习基础篇】——深入详解监督学习之回归与分类:理解线性回归、逻辑回归、支持向量机(SVM)、决策树、随机森林、梯度提升机(GBM)等算法
  • C语言勘破之路-最终篇 —— 预处理(下)
  • [文献阅读]ReAct: Synergizing Reasoning and Acting in Language Models
  • 1.FAISS与Langchain整合,搭配大模型实现本地知识库问答
  • 安卓执法仪Android接入国标GB28181平台实现实时监控、对讲、报警、定位等管理方案
  • 深度解析软件抽象:拨开层层迷雾,直击本质
  • JAVA 查询对象大小 查询当前JVM堆内存
  • 【智能制造-50】雅可比矩阵在机器人中如何应用
  • 使用Excel制作通达信自定义外部数据,安排!!!
  • AWTK 在全志 tina linux 上支持 2D 图形加速
  • @Scheduled注解的使用-SpringBoot-Springtask
  • 动态规划简介:爱的初体验
  • TCP 和 UDP 的区别:解析网络传输协议
  • 人生至淡,就是风清月朗
  • Ubuntu下PyTorch开发环境配置
  • redis的基础知识
  • linux检测U盘,网络是连接
  • 2024第一届Solar杯应急响应挑战赛
  • 目标检测中的正负样本是什么,是如何起作用的?