leetcode 990. Satisfiability of Equality Equations(等式方程的可满足性)

支付宝域名如何加入白名单(扫码老是弹窗) 支付宝扫码之后,遇到非支付宝官方网页,请确认是否继续访问弹窗,问题解决办法。本章教程提供解决办法,亲测有效。 阅读详情

在这里插入图片描述
判断equations里面的条件是不是都满足。

思路:

Union Find
可以这样想,先通过"==“的等式把值相同的字母聚类,一个类别是一个值,
然后再通过”!="的不等式来验证值是不是有矛盾,有矛盾就返回false.

聚类(union):
首先根据"=="的等式建立union,
每个union有一个root,也就是说找到union里面任何一个点最终都会找到root。
每个点的root是它自己。

遍历"=="关系,当一条边右端点的root是它自己时,更新root为左端点。把左端点当作右端点的root。也可以反过来,把右端点当成root。
当右端点的root不是它自己时,说明它连接的有另一个节点,顺藤摸瓜一直摸到它的root。

验证(find):
union建立好之后,开始find
遍历"!="的不等式,找到左右两边点的root,它们的root相同时,发生矛盾,返回false

本来union的过程需要把点都连接到root上面,
比如:1->2->3->4, 要找4的root需要往上找好几层才能找到1,一般在union的过程中会把3,4直接连接到1.
这里做了简易union,2层2层往上连接,起了查找时间log2的作用。

总结一下,这种需要聚成几类后面方便验证或查找的,要想到union-find

public boolean equationsPossible(String[] equations) {
    int[] root = new int[26];
    for(int i = 0; i < 26; i++) {
        root[i] = i;
    }
    
    //先处理“==”
    for(String equ : equations) {
        if(equ.charAt(1) == '!') continue;
        int idx1 = equ.charAt(0) - 'a';
        int idx2 = equ.charAt(3) - 'a';
        //"=="左边的root定义为"=="右边的root
        root[find(root, idx1)] = find(root, idx2);
    }
    
    //处理"!="
    for(String equ : equations) {
        if(equ.charAt(1) == '=') continue;
        int idx1 = equ.charAt(0) - 'a';
        int idx2 = equ.charAt(3) - 'a';
        //"=="左边的root定义为"=="右边的root
        if(find(root, idx1) == find(root, idx2)) return false;
    }
    
    return true;
}

int find(int[] root, int idx) {
    int parent = idx;
    while(root[parent] != parent) {
        parent = root[parent];
        root[parent] = root[root[parent]];  //简易union
    }
    return parent;
}
神经形态芯片:IBM TrueNorth技术详解以及应用案例 2018年的一项演示中,机器人使用TrueNorth处理了复杂的路径规划,功耗仅为传统系统的1/10。它通过模仿人脑的结构,解决了传统芯片在功耗和并行性上的痛点,并在图像识别、物联网和机器人等领域展现了强大潜力。:不同于传统芯片的时钟驱动,TrueNorth是事件驱动的。例如,工厂中的振动传感器使用TrueNorth检测设备故障的早期迹象,实现了更高效的维护策略,避免了停机时间。:在医疗领域,TrueNorth可以用于可穿戴设备,比如一个智能助听器,它能过滤噪音并增强特定声音,功耗低到可以用纽扣电池供电。 阅读详情

相关推荐

Gemini 3.1 Flash本地部署实操:Ollama+Open WebUI零门槛运行指南

大型语言模型(LLM)本地运行是指将模型权重下载至本地设备,通过推理引擎完成离线推理的过程;其核心原理依赖量化压缩(如GGUF格式)与轻量级运行时(如Ollama)实现CPU/GPU高效加载;技术价值在于低延迟响应、数据隐私可控及免网络依赖;典型应用场景包括办公提效(邮件/周报生成)、学生学习辅助、产品原型验证等边缘AI任务;本文聚焦Gemini 3.1 Flash这一面向消费级硬件优化的轻量模型变体,结合Ollama模型管理与Open WebUI图形界面,提供从环境准备、模型拉取到流式对话的完整新手实操路

weixin_32238157的博客 488

力扣(LeetCode)高频SQL50题(部分) ---- SQL学习笔记

此为本人复盘使用笔记,有不足之处请大家不吝指出。

weixin_52010459的博客 2544

ENSP Pro VXLAN EVPN分布式网关部署配置

在BGP EVPN方式部署分布式网关的场景中,控制平面的流程包括VXLAN隧道建立、MAC地址动态学习;转发平面的流程包括同子网已知单播报文转发、同子网BUM报文转发、跨子网报文转发。该方式实现的功能全面,支持主机IP路由通告、主机MAC地址通告、主机ARP通告,可以直接使能ARP广播抑制功能。如果在VXLAN网络中采用分布式网关,推荐使用此方式。对比集中式网关,分布式网关的arp条目比集中式网关的arp条目少,分布式网关只学习租户侧的arp条目,不学习网络侧的arp条目。

qq2353177176的博客 4558

Satisfiability of Equality Equations

Given an array equations of strings that represent relationships between variables, each string equations[i] has length 4 and takes one of two different forms: "a==b" or "a!=b".  Here, a and b are low...

m0_37889928的博客 205

AI 算力基础设施深度系列(一):从容器到 Kubernetes——算力底座的诞生

1. 容器 = Namespace(视图隔离) + Cgroup(资源限制) + Union FS(镜像分层)└── 不是虚拟机!共享内核,接近零开销2. K8S 三大设计哲学:└── 声明式 API + 控制循环 + 可扩展架构3. K8S 架构:└── 控制面 (API Server / etcd / Scheduler / Controller Manager)

warm3snow的博客 534

手把手教你用STM32实现SPWM逆变器控制(附完整代码)

本文详细介绍了如何使用STM32微控制器实现SPWM逆变器控制,包括硬件设计、PWM生成配置、正弦表生成与DMA传输,以及闭环控制与性能优化。通过完整的代码示例和实测数据,帮助开发者快速掌握SPWM技术,应用于新能源和电力电子领域。

weixin_29296241的博客 316

【LeetCode】990. Satisfiability of Equality Equations 解题报告(C++ & python)

作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录题目描述题目大意解题方法DFS并查集日期 题目地址:https://leetcode.com/problems/satisfiability-of-equality-equations/ 题目描述 Given an array equations of strings that r...

负雪明烛 1493

关于华为高斯数据库出现Invalid or unsupported by client SCRAM mechanisms定位解决的过程

最近公司有个新项目使用的是高斯数据库,因为我们的项目是直接从别的项目组拿来的,配置都是已经配好的,但是在放到正式环境上之后出现报错。起初我们以为是测试和正式的版本不一致,但是结果是版本一致的。最后这个问题搞了我们几个小时,都没法解决。

Curtisjia的博客 3173

Satisfiability of Equality Equations - LeetCode

目录 题目链接 注意点 解法 小结 题目链接 Satisfiability of Equality Equations - LeetCode 注意点 必须要初始化pre 解法 解法一:典型的并查集算法应用。先遍历所有等式,将等号两边的字母加入同一分类,每类中的字母...

weixin_30692143的博客 147

如何快速下载Gaia DR3星表数据?中国虚拟天文台镜像站保姆级教程

本文提供了一份详细的保姆级教程,指导用户如何通过中国虚拟天文台镜像站高速、稳定地下载Gaia DR3星表数据。文章详细介绍了镜像站的访问地址、数据组织结构,并给出了使用wget、aria2c等工具进行批量下载的实战策略,帮助国内用户避开国际网络延迟,高效获取近20亿颗天体的海量数据。

weixin_29231263的博客 298

RK3568平台(内存篇)DDR定频修改

如果需要DDR定频,则还需要注释掉其他多余的DDR频率,保留一个即可,例如注释掉opp-528000000、opp-1068000000、opp-1560000000,保留opp-2750000000则是定频最大频率。如果回退必须将 dmc_opp_table节点 的其他频率打开,否则系统无法选择到其他频率运行。ddr频点不对,先把ddr变频关掉,关闭后系统就不会一直重启了,以下是修改DDR频点的。rk3588修改定频节点在rk3588s.dtsi 的 dmc: dmc。

weixin_49303682的博客 1620

990. Satisfiability of Equality Equations

990. Satisfiability of Equality Equations方法1: Union Find易错点: Given an array equations of strings that represent relationships between variables, each string equations[i] has length 4 and takes one of ...

wilzxu的博客 236

遗传算法(Genetic Algorithm)详解与实现

遗传算法(Genetic Algorithm, GA)是受自然进化原理启发的一系列搜索算法。通过模仿自然选择和繁殖的过程,遗传算法可以为涉及搜索、优化和学习的各种问题提供高质量的解决方案。同时,它们类似于自然进化,因此遗传算法可以克服传统搜索和优化算法遇到的一些障碍,尤其是对于具有大量参数和复杂数学表示形式的问题。

盼小辉丶的博客 24万+

Leetcode 990.等式方程的可满足性(Satisfiability of Equality Equations)

Leetcode 990.等式方程的可满足性 1 题目描述(Leetcode题目链接)   给定一个由表示变量之间关系的字符串方程组成的数组,每个字符串方程 equations[i] 的长度为 4,并采用两种不同的形式之一:“a==b” 或 “a!=b”。在这里,a 和 b 是小写字母(不一定不同),表示单字母变量名。 只有当可以将整数分配给变量名,以便满足所有给定的方程时才返回 true,否则返回 false。 输入:["a==b","b!=a"] 输出:false 解释:如果我们指定,a = 1 且 b

qq_39378221的博客 313

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

leetcode 990. Satisfiability of Equality Equations 等式方程的可满足性-耗时100

的字母join起来,最后检查!=的字母是否存在矛盾也就是根节点是否不相同,若相同则矛盾。

邹九的个人博客 78

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Leetcode-990. 等式方程的可满足性 Satisfiability of Equality Equations (并查集) -超详细python

题目 给定一个由表示变量之间关系的字符串方程组成的数组,每个字符串方程 equations[i] 的长度为 4,并采用两种不同的形式之一:“a==b” 或 “a!=b”。在这里,a 和 b 是小写字母(不一定不同),表示单字母变量名。 只有当可以将整数分配给变量名,以便满足所有给定的方程时才返回 true,否则返回 false。 链接:https://leetcode.com/problems/satisfiability-of-equality-equations/ Given an array eq

JamieLuo的博客 285

LeetCode_Union Find_990. Satisfiability of Equality Equations 等式方程的可满足性【并查集,路径压缩,字符串处理】【java】【中等】

目录 一,题目描述 英文描述 中文描述 示例与说明 二,解题思路 三,AC代码 Java 四,解题过程 第一博 一,题目描述 英文描述 You are given an array of strings equations that represent relationships between variables where each string equations[i] is of length 4 and takes one of two different forms:

&再见萤火虫&的博客 843

LeetCode 990.Satisfiability of Equality Equations(等式方程的可满足性) 并查集/medium

文章目录1.Description2.Example3.Solution1.数组版2.map版 1.Description 给定一个由表示变量之间关系的字符串方程组成的数组,每个字符串方程 equations[i] 的长度为 4,并采用两种不同的形式之一:“a==b” 或 “a!=b”。在这里,a 和 b 是小写字母(不一定不同),表示单字母变量名。 只有当可以将整数分配给变量名,以便满足所有给定的方程时才返回 true,否则返回 false。 2.Example 输入:["a==b","b!=a"]

押切徹的博客 256

LeetCode C++ 990. Satisfiability of Equality Equations【并查集】中等

Given an array equations of strings that represent relationships between variables, each string equations[i] has length 444 and takes one of two different forms: "a==b" or "a!=b". Here, a and b are lowercase letters (not necessarily different) that repres

memcpy0的博客 449

LeetCode 990. Satisfiability of Equality Equations

given an array of equations and nonequations, check if all the equations are true. if any of them is false then return false; Input: [“a==b”,“b!=a”] Output: false remember: we will only contains == and != operator. idea: 这种题目要用图的思想去想: 由于具有传递姓,比如ab and ca,

Tech in Pieces 347

LeetCode-990. Satisfiability of Equality Equations

Given an arrayequationsof strings that represent relationships between variables, each stringequations[i]has length4and takes one of two different forms:"a==b"or"a!=b". Here,aandbare low...

reigns的博客 392

LeetCode 990 Satisfiability of Equality Equations (并查集 推荐)

You are given an array of stringsequationsthat represent relationships between variables where each stringequations[i]is of length4and takes one of two different forms:"xi==yi"or"xi!=yi".Here,xiandyiare lowercase letters (not necessarily diffe...

Tc的专栏 649
上一篇: leetcode 1680. Concatenation of Consecutive Binary Numbers(连接连续的二进制数)
下一篇: leetcode 19. Remove Nth Node From End of List(删除链表从结尾开始的第N个节点)
蓝羽飞鸟
博客等级 码龄8年 1万+粉丝 727原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

蓝羽飞鸟

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

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

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

打赏作者

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

抵扣说明:

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

余额充值