news 2026/7/23 5:53:18

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/7/16 16:31:46

图书馆古籍数字化工程中GLM-4.6V-Flash-WEB的作用探讨

图书馆古籍数字化工程中GLM-4.6V-Flash-WEB的作用探讨 在数字人文浪潮席卷全球的今天&#xff0c;越来越多图书馆面临一个共同难题&#xff1a;如何高效、准确地将尘封千年的古籍转化为可检索、可分析、可传播的数字资源&#xff1f;传统方式依赖人工录入与OCR识别结合&#xf…

作者头像 李华
网站建设 2026/7/21 16:01:37

MyBatisPlus乐观锁机制保障GLM-4.6V-Flash-WEB并发安全

MyBatisPlus乐观锁机制保障GLM-4.6V-Flash-WEB并发安全 在当前AI服务快速落地的浪潮中&#xff0c;视觉大模型如智谱推出的 GLM-4.6V-Flash-WEB 正被广泛应用于图像理解、内容审核和智能问答等Web场景。这类系统通常要求毫秒级响应与高并发处理能力&#xff0c;但鲜有人关注其背…

作者头像 李华
网站建设 2026/7/20 16:23:03

学霸同款2026 AI论文写作软件TOP8:MBA毕业论文高效神器测评

学霸同款2026 AI论文写作软件TOP8&#xff1a;MBA毕业论文高效神器测评 2026年MBA论文写作工具测评&#xff1a;高效与专业并重的选择指南 随着AI技术在学术领域的深度应用&#xff0c;越来越多的MBA学生开始借助智能写作工具提升毕业论文的撰写效率。然而&#xff0c;面对市…

作者头像 李华
网站建设 2026/7/18 20:16:27

基于GLM-4.6V-Flash-WEB的图像问答系统搭建全流程

基于GLM-4.6V-Flash-WEB的图像问答系统搭建全流程 在智能客服、教育辅助和无障碍交互等场景中&#xff0c;用户越来越期待AI不仅能“听懂话”&#xff0c;还能“看懂图”。一张截图、一份作业照片、一段产品说明——如何让机器像人一样快速理解图文信息并给出准确回应&#xff…

作者头像 李华
网站建设 2026/7/19 12:49:13

CAE仿真类型全解析:从单物理场到多场耦合,精准匹配行业应用场景

在科研与工程研发中&#xff0c;CAE&#xff08;计算机辅助工程&#xff09;仿真凭借“低成本、高精准、可重复”的优势&#xff0c;已成为替代传统物理试验的核心工具。然而&#xff0c;CAE并非“万能工具”——不同类型的仿真基于不同的物理模型&#xff0c;解决的问题也截然…

作者头像 李华