2023-11-01 LeetCode每日一题(参加会议的最多员工数)

2023-11-01每日一题

一、题目编号

2127. 参加会议的最多员工数

二、题目链接

点击跳转到题目位置

三、题目描述

一个公司准备组织一场会议,邀请名单上有 n 位员工。公司准备了一张 圆形 的桌子,可以坐下 任意数目 的员工。

员工编号为 0 到 n - 1 。每位员工都有一位 喜欢 的员工,每位员工 当且仅当 他被安排在喜欢员工的旁边,他才会参加会议。每位员工喜欢的员工 不会 是他自己。

给你一个下标从 0 开始的整数数组 favorite ,其中 favorite[i] 表示第 i 位员工喜欢的员工。请你返回参加会议的 最多员工数目

示例 1:
在这里插入图片描述

示例 2:在这里插入图片描述

示例 3:
在这里插入图片描述

提示:

  • n == favorite.length
  • 2 <= n <= 105
  • 0 <= favorite[i] <= n - 1
  • favorite[i] != i

四、解题代码

class Solution {
public:
    int maximumInvitations(vector<int>& favorite) {
        int n = favorite.size();
        // 统计入度,便于进行拓扑排序
        vector<int> indeg(n);
        for (int i = 0; i < n; ++i) {
            ++indeg[favorite[i]];
        }
        vector<int> used(n), f(n, 1);
        queue<int> q;
        for (int i = 0; i < n; ++i) {
            if (!indeg[i]) {
                q.push(i);
            }
        }
        while (!q.empty()) {
            int u = q.front();
            used[u] = true;
            q.pop();
            int v = favorite[u];
            // 状态转移
            f[v] = max(f[v], f[u] + 1);
            --indeg[v];
            if (!indeg[v]) {
                q.push(v);
            }
        }
        // ring 表示最大的环的大小
        // total 表示所有环大小为 2 的「基环内向树」上的最长的「双向游走」路径之和
        int ring = 0, total = 0;
        for (int i = 0; i < n; ++i) {
            if (!used[i]) {
                int j = favorite[i];
                // favorite[favorite[i]] = i 说明环的大小为 2
                if (favorite[j] == i) {
                    total += f[i] + f[j];
                    used[i] = used[j] = true;
                }
                // 否则环的大小至少为 3,我们需要找出环
                else {
                    int u = i, cnt = 0;
                    while (true) {
                        ++cnt;
                        u = favorite[u];
                        used[u] = true;
                        if (u == i) {
                            break;
                        }
                    }
                    ring = max(ring, cnt);
                }
            }
        }
        return max(ring, total);
    }
};

五、解题思路

(1) 拓扑排序

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/111887.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MongoDB——MongoDB删除系统自带的local数据库

一、MongoDB删除系统自带的local数据库 1.1、linux环境进入mongo客户端 输入 mongo 命令&#xff0c;进入命令行客户端 进入admin库&#xff0c;并登录&#xff0c;查看所有数据库 #进入admin库 use admin #并登录admin db.auth("username","password")…

【论文笔记】Unifying Large Language Models and Knowledge Graphs:A Roadmap

&#xff08;后续更新完善&#xff09; 2. KG-ENHANCED LLMS 2.1 KG-enhanced LLM Pre-training 以往将KGs集成到大型语言模型的工作主要分为三个部分:1)将KGs集成到训练目标中&#xff0c;2)将KGs集成到LLM输入中&#xff0c;3)将KGs集成到附加的融合模块中。 2.1.1 Integr…

大语言模型(LLM)综述(五):使用大型语言模型的主要方法

A Survey of Large Language Models 前言6 UTILIZATION6.1 In-Context Learning6.1.1 提示公式6.1.2 演示设计6.1.3 底层机制 6.2 Chain-of-Thought Prompting6.2.1 CoT的上下文学习6.2.2 关于CoT的进一步讨论 6.3 Planning for Complex Task Solving6.3.1 整体架构6.3.2 计划生…

基于松鼠算法的无人机航迹规划-附代码

基于松鼠算法的无人机航迹规划 文章目录 基于松鼠算法的无人机航迹规划1.松鼠搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要&#xff1a;本文主要介绍利用松鼠算法来优化无人机航迹规划。 1.松鼠搜索算法 …

pytorch复现_NMS

NMS&#xff08;非极大值抑制&#xff09;阈值是用于控制在一组重叠的边界框中保留哪些边界框的参数。当检测或识别算法生成多个边界框可能涵盖相同物体时&#xff0c;NMS用于筛选出最相关的边界框&#xff0c;通常是根据它们的置信度分数。 具体来说&#xff0c;NMS的工作原理…

Linux系统jdkTomcatMySQL安装以及J2EE后端接口部署

目录 一、jdk&Tomcat安装 1.1 上传安装包到服务器 1.2 解压对应工具包 1.3 配置环境变量并测试jdk安装 1.4 启动tomcat 1.5 防火墙设置 1.5.1 开启/关闭防火墙以及防火墙状态查看 1.5.2 开放防火墙端口 二、MySQL安装 2.1 卸载mariadb 2.2 在线下载MySQL安装包(…

2015年美亚杯全国电子数据取证大赛个人

做题 1.请找出如下windows XP系统信息&#xff1a;&#xff08;10分&#xff09; a. 系统安装时间 &#xff08;YYYY/MM/DD&#xff09; 考时间 我们先去看看该电脑的时区 都是东八区 那我们直接看时间 因为题目没有要求我们时间 答案为 2015-08-07 16:45:52 转为格式 201…

【zip密码】如何取消zip压缩包的密码?

我们想要对压缩包进行加密&#xff0c;但是当我们不需要加密压缩包的时候&#xff0c;该如何取消zip压缩包密码呢&#xff1f;那么zip压缩包密码取消都有什么方法呢&#xff1f;今天将方法总结分享给大家。 最原始的方法&#xff0c;就是通过解压文件&#xff0c;将解压出的文…

uniapp 微信小程序 授权隐私流程 网上没有的踩坑记录!

首先什么时候我们需要授权操作&#xff0c;比如下图我们调用这些接口时候首先必须让用户授权&#xff0c;这个政策是2022年2月21日24时起对一下接口增加用户授权操作&#xff0c;详情可以看微信文档 授权的逻辑按照官网的意思是&#xff1a; 这个时候就踩坑了&#xff0c;我把…

这个电力问题难倒90%的人,但我只用一招就搞定!

随着现代社会对电力需求的不断增加&#xff0c;配电系统的可靠性和安全性变得至关重要。为了确保电力系统的稳定运行&#xff0c;配电柜监控系统应运而生。 配电柜监控系统通过实时监测和控制电力分配&#xff0c;提供了对电力系统状态的详细洞察&#xff0c;以帮助运维人员及时…

编程助手DevChat:让开发更轻松

#AI编程助手哪家好&#xff1f;DevChat“真”好用 # 目录 前言一、安装Vscode1、下载链接2、安装 二、注册DevChat1、打开注册页2、验证成功完成邮箱绑定3、绑定微信可获得8元 三、安装插件四、配置Access Key1、获取Access Key2、设置Access Key①、点击左下角管理&#xff08…

linux jdk配置

1.下载jdk &#xff0c;以jdk1.8为例子 Java Downloads | Oracle JDK 8 Update Release Notes (oracle.com) 2.配置环境变量 1.下载相关jdk版本&#xff0c;执行以下命令安装jdk tar -zxvf jdk-8u144-linux-x64.tar.gz 2.编辑命令 vi /etc/profile 3.在最后加入下面配置 e…

Kafka - 3.x 消费者 生产经验不完全指北

文章目录 生产经验之Consumer事务生产经验—数据积压&#xff08;消费者如何提高吞吐量&#xff09; 生产经验之Consumer事务 Kafka引入了消费者事务&#xff08;Consumer Transactions&#xff09;来确保在消息处理期间维护端到端的数据一致性。这使得消费者能够以事务的方式…

JAVA 实现PDF转图片(pdfbox版)

依赖&#xff1a; pdf存放路径 正文开始&#xff1a; pdf转换多张图片、长图 Test void pdf2Image() {String dstImgFolder "";String PdfFilePath "";String relativelyPathSystem.getProperty("user.dir");PdfFilePath relativelyPath &qu…

4.4 多态

思维导图&#xff1a; 4.4 多态 在深入研究对象的世界后&#xff0c;我们已经学到了封装和继承。接下来&#xff0c;我们要讨论的是面向对象编程的另一个核心概念&#xff1a;多态。 4.4.1 多态概述 多态是面向对象的三大特性之一&#xff0c;它允许我们以统一的方式处理不同…

518抽奖软件,可从Excel~Word~Pdf~网页导入名单

518抽奖软件简介 518抽奖软件&#xff0c;518我要发&#xff0c;超好用的年会抽奖软件&#xff0c;简约设计风格。 包含文字号码抽奖、照片抽奖两种模式&#xff0c;支持姓名抽奖、号码抽奖、数字抽奖、照片抽奖。(www.518cj.net) 从Excel、WPS表格导入 整列&#xff1a; 用鼠…

Vue路由(router)的安装和使用

Vue路由&#xff08;router&#xff09;的安装和使用 安装vue-router插件 第一步&#xff1a;在CMD窗口中&#xff0c;使用命令跳转到vue的安装路径下第二步&#xff1a;输入命令&#xff1a;npm i vue-router3 vue2 要安装 vue-router3 npm i vue-router3 vu3 要安装 vue-ro…

如何使用IP归属地查询API加强网络安全

目录 一、背景与意义 二、IP归属地查询API加强网络安全的方式 三、IP归属地API的使用教程 四、实际代码示例 五、结合其他安全技术加强网络安全 六、注意事项 总结 一、背景与意义 在数字化的今天&#xff0c;网络安全问题变得尤为重要。企业、组织乃至个人都面临着网络…

MacBook终端安装tree命令(保证好使)

1. 首先在终端安装brew 由于mac是没有原生支持tree命令的&#xff0c;所以我们在安装tree命令之前&#xff0c;先安装brew。 先输入下面命令&#xff0c;安装brew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)…

CRM系统如何帮助大客户销售

我们知道大客户都具备这样的特点&#xff1a;对企业价值高、成交难度大、成单周期长&#xff0c;因此这一部分客户需要销售团队投入更多的时间和精力。大客户销售如何利用好CRM系统更大程度地挖掘大客户价值&#xff1f;关键还在于维护好客户生命周期。 销售人员想要拿下大客户…