寻找小镇法官算法中arrayN数组循环后存储内容的技术问询
问题解答:第一个for循环后
arrayN数组的内容 arrayN数组的每个索引对应小镇里的一个人(索引i对应编号为i+1的居民),遍历完所有信任关系后,数组中每个元素的值是该居民被他人信任的总次数,减去该居民信任他人的总次数,具体逻辑如下:
- 每当信任关系
[a, b]出现(即a信任b):- 信任别人的
a对应数组索引a-1的值减1(因为他有一次主动信任行为) - 被信任的
b对应数组索引b-1的值加1(因为他多了一次被信任记录)
- 信任别人的
结合示例具体说明:
示例1:输入n=2,trust=[[1,2]]
遍历唯一的信任关系[1,2]:
- 编号1信任别人,
arrayN[0](对应编号1)减1 → 值为-1 - 编号2被人信任,
arrayN[1](对应编号2)加1 → 值为1
最终arrayN数组为:[-1, 1]
示例2:输入n=3,trust=[[1,3],[2,3]]
- 遍历
[1,3]:arrayN[0](编号1)减1 →-1arrayN[2](编号3)加1 →1
- 遍历
[2,3]:arrayN[1](编号2)减1 →-1arrayN[2](编号3)加1 →2
最终arrayN数组为:[-1, -1, 2]
示例3:输入n=3,trust=[[1,3],[2,3],[3,1]]
- 遍历
[1,3]:arrayN[0](编号1)减1 →-1arrayN[2](编号3)加1 →1
- 遍历
[2,3]:arrayN[1](编号2)减1 →-1arrayN[2](编号3)加1 →2
- 遍历
[3,1]:arrayN[2](编号3)减1 →1arrayN[0](编号1)加1 →0
最终arrayN数组为:[0, -1, 1]
内容的提问来源于stack exchange,提问作者OEThe11
相关产品推荐
相关产品推荐

