链接:947. 移除最多的同行或同列石头

题解:https://leetcode-cn.com/problems/most-stones-removed-with-same-row-or-column/solution/947-yi-chu-zui-duo-de-tong-xing-huo-tong-ezha/

class Solution {public:std::unordered_map<int, int> _id;std::unordered_map<int, int> _rank;int find(int p) {// 如果原来没有出现过这个节点,初始化这个坐标节点if(_id.find(p) == _id.end()) {_id[p] = p;_rank[p] = 1;return p;}while(_id[p] != p) {_id[p] = _id[_id[p]];p = _id[p];}return p;}void union_find(int p, int q) {int root_p = find(p);int root_q = find(q);if(root_p == root_q) {return;}if(_rank[root_p] < _rank[root_q]) {_id[root_p] = root_q;} else if(_rank[root_p] < _rank[root_q]) {_id[root_q] = root_p;} else {_id[root_p] = root_q;_rank[root_q] += 1;}}// 获取连通分量int get_size() {int cnt = 0;for(auto& ite : _id) {if(ite.first == ite.second) {++cnt;}}return cnt;}int removeStones(vector<vector<int>>& stones) {for(auto& entry : stones) {// 横坐标和纵坐标为在一个结合,+10001是为了区分横纵坐标union_find(entry[0], entry[1]+10001);}return stones.size() - get_size();}
};

947. 移除最多的同行或同列石头2021-01-23相关推荐

  1. leetcode 947. 移除最多的同行或同列石头(dfs)

    n 块石头放置在二维平面中的一些整数坐标点上.每个坐标点上最多只能有一块石头. 如果一块石头的 同行或者同列 上有其他石头存在,那么就可以移除这块石头. 给你一个长度为 n 的数组 stones ,其 ...

  2. LeetCode 947. 移除最多的同行或同列石头(并查集)

    1. 题目 我们将石头放置在二维平面中的一些整数坐标点上.每个坐标点上最多只能有一块石头. 每次 move 操作都会移除一块所在行或者列上有其他石头存在的石头. 请你设计一个算法,计算最多能执行多少次 ...

  3. 移除最多的同行或同列石头

    题目描述 Title 石子游戏 Question description 1.现有一 N ⋆ N N \star N N⋆N 的棋盘, 每个格子可能有或者没有石子, 用 1 / 0 1 / 0 1/0 ...

  4. Java黑皮书课后题第7章:***7.36(游戏:八皇后问题)经典的八皇后难题是要将八个皇后放在棋盘上,任何两个皇后都不能相互攻击(没有两个皇后在同行、同列、同一对角线)。编写程序显示一个解决方案

    7.36(游戏:八皇后问题)经典的八皇后难题是要将八个皇后放在棋盘上,任何两个皇后都不能相互攻击(没有两个皇后在同行.同列.同一对角线).编写程序显示一个解决方案 题目 题目描述 破题 题目 题目描述 ...

  5. SQL Server 2008 R2——ROW_NUMBER() 去掉不同行中相同列的重复内容

    原文:SQL Server 2008 R2--ROW_NUMBER() 去掉不同行中相同列的重复内容 ==================================声明============= ...

  6. 音画同行 像犹新生——三星2021 电视新品震撼再升级

    近年来,电视向着更大.更薄.更高清.更智慧.更环保的方向不断前行,屏幕大小从65英寸.70英寸.88英寸发展到超过120英寸,分辨率从1080P.2K.4K一直提升到8K--,技术的进步使得电视不停的 ...

  7. 国防科技大学清华大学计算机科学,近10年“中国十大科技进展”,这4所985入选项目最多,北大不在列...

    每到岁末年初的时候,中国科学院院士.中国工程院院士都会投票评选出过去一年的"中国十大科技进展",毫无疑问,入选"中国十大科技进展"的项目都是我国在过去一年取得的 ...

  8. 经典算法题:字典树、并查集、单调栈、二分、带标记函数dp、树、全排列、字符串问题等常用算法

    0. Tips 1. 位运算 如何枚举一个二进制状态数字k的子集, 方法就是针对中的二进制为1的位开始进行减法,判断数字k的二进制子集, 像枚举(2^k-1) ~ 0一样枚举其子集: int sub ...

  9. LeetCode 1697. 检查边长度限制的路径是否存在(排序+并查集)

    文章目录 1. 题目 2. 解题 1. 题目 给你一个 n 个点组成的无向图边集 edgeList ,其中 edgeList[i] = [ui, vi, disi] 表示点 ui 和点 vi 之间有一 ...

最新文章

  1. 几种替代MATLAB的工具,堪称完美!
  2. TeXLive2019 安装(亲测有效)
  3. 路由器和交换机分别起什么作用,它们之间有什么区别?
  4. Linux节点之间无密码问题,Linux下多节点SSH无密码互联实现
  5. 小菜鸡进阶之路_Second week之元组、列表、集合、字典对比.
  6. android8.0于与ios,android 8.0 oreo抄袭苹果吗 android oreo和ios 11对比
  7. Linux各目录详解
  8. docker进阶(1):使用cAdvisor监控容器
  9. JPA简介及其使用详解
  10. Java相关技术文档汇总
  11. OIF 4.0协议分析心得-1
  12. matlab直方图拉伸、均衡化和匹配
  13. 【C/C++学习】之内存分配(new,operator new,placement new)详解
  14. 手机支付宝面临的风险和应对(III)---手机支付宝能照搬PC的思路吗?
  15. android 应用自启管理
  16. C++ 模板的显示具体化
  17. web前端知识——iframe标签、CSS
  18. 服务器系统 cad,CAD协同设计管理平台教程之服务器安装
  19. Spring JdbcTemplate2-update和query
  20. 广告公司不会被MCN干掉,但会被打残

热门文章

  1. Java编程解密-Dubbo负载均衡与集群容错机制
  2. 百度定位---适配8.0限制后台定位
  3. Logback配置一(按时间归档)
  4. java大神养成计划
  5. OpenCart多图片拖放式上传管理器
  6. Linux 命令(54)—— trap 命令(builtin)
  7. C++ 纯虚函数与抽象类
  8. oracle简单建库基本流程
  9. Oracle 安装 RAC 11.2.0.4 centos7.4 -udev磁盘绑定/执行root脚本报错
  10. C# WPF 多个window 相互覆盖的次序控制 不用topmost