851. 喧闹和富有

题目描述

在这个问题中,我们有一组实验对象,每个人都有不同的财富和安静值(quietness)。我们需要根据给定的关系数据,找出每个人在拥有的钱至少不小于他(她)的人中最安静的人的编号。

输入

  • 一个二维数组 richer,其中 richer[i] = [ai, bi] 表示 person aiperson bi 更富有。
  • 一个整数数组 quiet,其中 quiet[i] 表示 person i 的安静值。

输出

  • 返回一个整数数组 answer,其中 answer[x] = y 表示:在所有拥有的钱不小于 person x 的人中,person y 是最安静的人(即具有最小的 quiet 值)。

解题分析

该问题本质上涉及到图的遍历和最短路径问题,目标是计算出每个节点在拥有的钱不小于它的人的集合中最安静的人的编号。

关键点分析

  1. 图的表示
    • 我们可以将每个人及其关系表示为一个有向图。richer[i] = [ai, bi] 表示 person aiperson bi 更富有,即从 aibi 画一条边。
  1. 最安静的人
    • 对于每个人,我们要找到拥有的钱不小于他的人集合中最安静的人。具体来说,比较 quiet 数组的值,寻找最小的 quiet 值。
  1. 拓扑排序的应用
    • 因为每个人都有一个明确的比谁更富有的关系,所以这个问题可以转化为图的拓扑排序问题。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值