news 2026/10/21 19:51:09

leetcode 851. Loud and Rich 喧闹和富有-耗时100%

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
leetcode 851. Loud and Rich 喧闹和富有-耗时100%

Problem: 851. Loud and Rich 喧闹和富有

解题过程

耗时100%,最开始用深度优先搜索小的指向大的,可以做但是超时了

逆向思考以后,由大的指向小的tr[richer[i][0]].push_back(richer[i][1]);,使用了拓扑排序的,计算入度,将入度0的放入队列,每次计算入度0的节点指向的节点的quiet最小的索引

Code

class Solution { public: vector<int> ret; vector<bool> status; vector<vector<int>> tr; int mi = INT_MAX; vector<int> qt; int dfs(int start) { // status[start] = true; int next; if(tr[start].size() == 0) { ret[start] = start; // status[start] = false; return start; } int mimi = qt[start], ans, id = start; for(int i = 0; i < tr[start].size(); i++) { next = tr[start][i]; // if(status[next] == false) { if(tr[next].size() == 0) { ans = next; } else { ans = dfs(next); } if(mimi > qt[ans]) { id = ans; mimi = qt[ans]; } // } } // status[start] = false; ret[start] = id; return id; } vector<int> loudAndRich(vector<vector<int>>& richer, vector<int>& quiet) { // int n = quiet.size(); // tr.resize(n); // for(int i = 0; i < richer.size(); i++) { // tr[richer[i][1]].push_back(richer[i][0]); // } // ret.assign(n, INT_MAX); // status.assign(n, false); // qt = std::move(quiet); // for(int i = 0; i < n; i++) { // if(tr[i].size() == 0) ret[i] = i; // } // for(int i = 0; i < n; i++) { // if(ret[i]==INT_MAX) { // dfs(i); // } // } // return ret; int n = quiet.size(); ret.resize(n); status.assign(n, false); tr.resize(n); for(int i = 0; i < richer.size(); i++) { tr[richer[i][0]].push_back(richer[i][1]); } vector<int> degree(n, 0); for(int i = 0; i < n; i++) { for(int j = 0; j < tr[i].size(); j++) { degree[tr[i][j]]++; } } queue<int> qe; for(int i = 0; i < n; i++) { if(degree[i] == 0) { qe.push(i); status[i] = true; } ret[i] = i; } int ind, kw, par; while( !qe.empty() ) { ind = qe.front(); qe.pop(); for(int i = 0; i < tr[ind].size(); i++) { kw = tr[ind][i]; par = ret[ind]; if(quiet[par] < quiet[ret[kw]]) { ret[kw] = par; } degree[kw]--; if(degree[kw] == 0 && status[kw] == false) { qe.push(kw); } } } return ret; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/20 4:05:09

大模型+编程开发=王炸组合!7个核心概念让你秒变AI开发高手

&#x1f4d6; 概念索引与要点概览 概念核心定义主要作用与意义LLM&#xff08;大语言模型&#xff09;基于海量文本训练、能理解与生成自然语言的深度学习模型。现代AI语言能力的核心&#xff0c;支撑各类文本生成与理解任务。LLMOps大语言模型运维 &#xff0c;涵盖LLM应用开…

作者头像 李华
网站建设 2026/10/18 21:05:26

ComfyUI快捷键大全提升GLM-4.6V-Flash-WEB工作效率

ComfyUI快捷键与GLM-4.6V-Flash-WEB协同提效实践 在当今Web端多模态应用快速发展的背景下&#xff0c;开发者面临的核心挑战已不再是“能不能做”&#xff0c;而是“能不能快、稳、低成本地落地”。尤其是在电商客服、教育辅助、内容审核等高并发场景中&#xff0c;模型不仅要看…

作者头像 李华
网站建设 2026/10/13 12:30:29

社交媒体内容治理:基于GLM-4.6V-Flash-WEB的内容审核解决方案

社交媒体内容治理&#xff1a;基于GLM-4.6V-Flash-WEB的内容审核实践 在短视频平台每分钟上传数万条图文动态的今天&#xff0c;一条配文为“今天也是元气满满的一天&#xff5e;”、图片却暗藏敏感符号的动态&#xff0c;可能正悄然穿过传统关键词过滤系统。这类“打擦边球”的…

作者头像 李华
网站建设 2026/10/20 6:04:34

立足招投标数据,洞察火电转型新格局:从“被动应对”到“主动破局”的战略跃迁‌

立足招投标数据&#xff0c;洞察火电转型新格局&#xff1a;从“被动应对”到“主动破局”的战略跃迁‌《中国能源报》近日联合自然资源保护协会发布的《中国传统发电上市公司低碳转型绩效评价2025》报告&#xff0c;敏锐地指出我国传统发电行业正经历一场深刻的范式转变&#…

作者头像 李华
网站建设 2026/10/21 11:36:33

Vite 极速的服务启动:使用原生 ESM 文件,无需打包

Vite通过原生ESM模块实现极速开发体验&#xff1a;开发环境直接利用浏览器ESM加载能力&#xff0c;按需即时编译单个文件而非整体打包&#xff1b;通过依赖预构建和请求拦截优化性能&#xff1b;生产环境仍采用Rollup打包以确保兼容性和优化。相比传统打包工具&#xff0c;Vite…

作者头像 李华