Leetcode990.等式方程的可满足性

ops/2024/9/23 14:52:45/

题目

在这里插入图片描述

原题链接

等式方程的可满足性

思路

  • 定义一个长度为26(变量为小写字母)的数组充当并查集,并将数组中的元素初始化为 -1
  • 判断“==”并合并元素,将相等的放在一个集合中
  • 判断“!=”;不等的如果在一个集合中,则矛盾返回false;否则,返回true

C++代码

class Solution 
{
public:bool equationsPossible(vector<string>& equations) {// 初始化并查集vector<int> ufs(26, -1);auto findRoot = [&ufs](int x) {int parent = x;while (ufs[parent] >= 0) {parent = ufs[parent];}return parent;};// 判断“==”并合并元素,将相等的放在一个集合中for(auto e : equations){if(e[1] == '='){int parent1 = findRoot(e[0] - 'a');int parent2 = findRoot(e[3] - 'a');if(parent1 != parent2){ufs[parent1] += ufs[parent2];ufs[parent2] = parent1;}}}// 判断“!=”;不等的如果在一个集合中,则矛盾返回false;否则,返回truefor(auto e : equations){if(e[1] == '!'){int parent1 = findRoot(e[0] - 'a');int parent2 = findRoot(e[3] - 'a');if(parent1 == parent2){return false;}}}return true;}
};

http://www.ppmy.cn/ops/114824.html

相关文章

VUE项目在Linux子系统部署

1、导读 环境&#xff1a;Windows 11、python 3.12.3、Django 4.2.11、 APScheduler 3.10.4 vue 背景&#xff1a;换系统需要重新安装&#xff0c;避免后期忘记&#xff0c;此处记录一下啊 事件&#xff1a;20240922 说明&#xff1a;使用node启动&#xff0c;非nginx&…

CefSharp_Vue交互(Element UI)_WinFormWeb应用(4)--- 最小化最大化关闭窗体交互(含示例代码)

一、效果预览 实现功能,通过vue页面模仿窗体的三个功能按钮实现最小化最大化关闭功能 1.1 预览 1.2 代码 页面代码

【Linux】Shell 编程规范及检查工具推荐

本文内容均来自个人笔记并重新梳理&#xff0c;如有错误欢迎指正&#xff01; 如果对您有帮助&#xff0c;烦请点赞、关注、转发、订阅专栏&#xff01; 专栏订阅入口 | 精选文章 | Kubernetes | Docker | Linux | 羊毛资源 | 工具推荐 | 往期精彩文章 【Docker】&#xff08;全…

用Python提取PowerPoint演示文稿中的音频和视频

将多种格式的媒体内容进行重新利用&#xff08;如PowerPoint演示中的音频和视频&#xff09;是非常有价值的。无论是创建独立的音频文件、提取视频以便在线分发&#xff0c;还是为了未来的使用需求进行资料归档&#xff0c;从演示文稿中提取这些媒体文件可以为多媒体内容的多次…

Rust: AES 加密算法库

在Rust中&#xff0c;进行AES加密通常会用到一些现有的库&#xff0c;因为Rust标准库中并不直接提供AES加密的API。一个非常流行的库是crypto-box或者更广泛使用的ring库&#xff0c;但ring库由于依赖问题有时可能难以编译&#xff0c;另一个常用的库是cryptography的Rust绑定&…

基于深度学习的3D场景重建

基于深度学习的3D场景重建是通过深度学习技术从多视角图像或视频数据中重建三维场景结构的过程。它在计算机视觉、增强现实、虚拟现实、机器人导航和自动驾驶等多个领域具有广泛应用。 1. 3D场景重建的基本概念 3D场景重建的目标是从二维图像中恢复场景的三维几何结构&#x…

前端 Session 管理与调试:常见错误与解决方案

目录 1. 会话未创建或已过期 2. 会话 ID 丢失 3. 会话数据未正确设置 4. 会话被其他线程修改 5. 服务器配置问题 6. 跨域问题 7. Session 共享问题 8. 监控和日志 9. 全局异常处理 10. 调试工具 拓展知识 会话固定攻击&#xff08;Session Fixation&#xff09; 跨…

探索以太坊:从基础到应用,解锁区块链技术的无限可能

前言 以太坊&#xff0c;一个备受瞩目的区块链平台&#xff0c;以其智能合约和去中心化应用&#xff08;DApp&#xff09;而闻名。在本文中&#xff0c;我们将带领读者深入了解以太坊的基础知识、核心概念以及其在现实世界中的应用&#xff0c;共同解锁区块链技术的无限可能。…