1. 题目

给定一个链表(链表结点包含一个整型值)的头结点 head。

同时给定列表 G,该列表是上述链表中整型值的一个子集。

返回列表 G 中组件的个数,这里对组件的定义为:链表中一段最长连续结点的值(该值必须在列表 G 中)构成的集合。

示例 1:
输入:
head: 0->1->2->3
G = [0, 1, 3]
输出: 2
解释:
链表中,0 和 1 是相连接的,且 G 中不包含 2,
所以 [0, 1] 是 G 的一个组件,同理 [3] 也是一个组件,故返回 2。示例 2:
输入:
head: 0->1->2->3->4
G = [0, 3, 1, 4]
输出: 2
解释:
链表中,0 和 1 是相连接的,3 和 4 是相连接的,
所以 [0, 1] 和 [3, 4] 是两个组件,故返回 2。注意:
如果 N 是给定链表 head 的长度,1 <= N <= 10000。
链表中每个结点的值所在范围为 [0, N - 1]。
1 <= G.length <= 10000
G 是链表中所有结点的值的一个子集.

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/linked-list-components
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

class Solution {public:int numComponents(ListNode* head, vector<int>& G) {unordered_set s(G.begin(), G.end());int ans = 0;while(head){if(s.count(head->val) && (!head->next || !s.count(head->next->val)))//当前存在,且,没有下一个,或者 有下一个,但是值不在集合里,出现一段ans++;head = head->next;}return ans;}
};

36 ms 14.3 MB

LeetCode 817. 链表组件相关推荐

  1. Leetcode 817.链表组件

    Time: 20190903 Type: Medium 题目描述 给定一个链表(链表结点包含一个整型值)的头结点 head. 同时给定列表 G,该列表是上述链表中整型值的一个子集. 返回列表 G 中组 ...

  2. if 组件是否存在_LeetCode 817. 链表组件 题解

    817. 链表组件 题解 题目描述 解法:哈希表 思路 本题的关键在于给定某个特定的值,如何能够快速地确定该值是否存在于列表G中.容易想到可以采用哈希表的方式存储列表G中的各个元素以方便查找.而由于这 ...

  3. 【精】LintCode领扣算法问题答案:1371. 链表组件

    1371. 链表组件 描述 给定一个链表(链表结点包含一个整型值)的头结点 head. 同时给定列表 G,该列表是上述链表中整型值的一个子集. 返回列表 G 中组件的个数,这里对组件的定义为:链表中一 ...

  4. leetcode算法题--链表组件

    原题链接:https://leetcode-cn.com/problems/linked-list-components/ 线性扫描 int numComponents(ListNode* head, ...

  5. Leetcode中单链表题总结

    以下是个人对所做过的LeetCode题中有关链表类型题的总结,博主小白啊,若有错误的地方,请留言指出,谢谢. 一.有关反转链表 反转链表是在单链表题中占很大的比例,有时候,会以各种形式出现在题中,是比 ...

  6. LeetCode 2130. 链表最大孪生和(链表快慢指针+反转链表+双指针)

    文章目录 1. 题目 2. 解题 1. 题目 在一个大小为 n 且 n 为 偶数 的链表中,对于 0 <= i <= (n / 2) - 1 的 i ,第 i 个节点(下标从 0 开始)的 ...

  7. LeetCode 1019. 链表中的下一个更大节点(单调栈)

    1. 题目 给出一个以头节点 head 作为第一个节点的链表.链表中的节点分别编号为:node_1, node_2, node_3, - . 每个节点都可能有下一个更大值(next larger va ...

  8. LeetCode 382. 链表随机节点(概率)

    1. 题目 给定一个单链表,随机选择链表的一个节点,并返回相应的节点值.保证每个节点被选的概率一样. 进阶: 如果链表十分大且长度未知,如何解决这个问题?你能否使用常数级空间复杂度实现? 来源:力扣( ...

  9. 【LeetCode 单链表专项】反转链表II(92)

    文章目录 1. 题目 1.1 示例 1.2 说明 1.3 限制 1.4 进阶 2. 解法一(穿针引线) 2.1 分析 2.2 解答 2.3 复杂度 3. 解法二(头插法) 3.1 分析 3.2 解答 ...

最新文章

  1. [JavaScript] JavaScript 运算符与流程控制
  2. 北航学长的《数据竞赛入门讲义》分享:我是靠这些拿到冠军的
  3. NutzCodeInsight 2.0.7 发布,为 nutz-sqltpl 提供友好的 ide 支持
  4. leetcode202(Floyd判圈算法(龟兔赛跑算法))
  5. python list()函数 (从可迭代对象返回初始化的新列表)
  6. centos7 安装教程 图文流程安装后包含界面
  7. 201712-2放学
  8. CentOS HarBor安装与配置
  9. tf.nn.dropout
  10. linux下的node.js下载和安装
  11. PageAbility基本概念
  12. mysql 出现 quot_mysql 出现 quot;the table is fullquot;的问题 - tmuffamd - ITeye博客
  13. Windows7查看无线网络密码
  14. MariaDB基础详解
  15. Atitit  rgb yuv  hsv HSL 模式和 HSV(HSB) 图像色彩空间的区别
  16. 网页前端:JavaScript编程
  17. 关于职业规划最好最全面的一篇文章
  18. FICO-固定资产报废处置流程ABAVN
  19. 大学生个人博客网页设计模板 学生个人博客网页成品 简单个人网站作品下载 静态HTML CSS个人网页作业源代码
  20. 众成计算机怎么设置音乐,电脑怎么设置默认音乐播放器

热门文章

  1. CentOS下的Mysql的安装和使用
  2. Day02-变量_数据类型和运算符
  3. 深入理解CRITICAL_SECTION
  4. STL set和multiset
  5. NAT(网络地址转换)技术与代理服务器原理
  6. Linux进程全解2——进程环境(环境变量、进程运行的虚拟地址空间)
  7. C++远航之封装篇——默认构造函数、初始化列表、拷贝构造函数
  8. 如何把图片嵌到html中,自给自足,轻松将图片图片内嵌到HTML
  9. fir fpga 不同截止频率_一种新的FIR滤波器系数量化方法
  10. Window10彻底卸载应用商店