LeetCode 力扣官方题解 1345 跳跃游戏西湖娱乐城- 西湖娱乐城官方网站- APP IV
栏目:哈希游戏 发布时间:2026-02-17
  西湖娱乐城,西湖娱乐城官方网站,西湖娱乐城APP/西湖娱乐城官方网站[永久网址:363050.com]给大家提供的优质服务:首存送 · +笔笔赠送 · 充值提现实时到账 · 西湖娱乐城注册,西湖娱乐城官方网站,西湖娱乐城APP,西湖娱乐,西湖娱乐城注册,西湖娱乐城网址,西湖娱乐城链接,西湖娱乐城登录,西湖娱乐城平台,西湖娱乐城网址,西湖娱乐,西湖娱乐城最新欢迎注册发财

  西湖娱乐城,西湖娱乐城官方网站,西湖娱乐城APP/西湖娱乐城官方网站[永久网址:363050.com]给大家提供的优质服务:首存送 · +笔笔赠送 · 充值提现实时到账 · 西湖娱乐城注册,西湖娱乐城官方网站,西湖娱乐城APP,西湖娱乐,西湖娱乐城注册,西湖娱乐城网址,西湖娱乐城链接,西湖娱乐城登录,西湖娱乐城平台,西湖娱乐城网址,西湖娱乐,西湖娱乐城最新欢迎注册发财

LeetCode 力扣官方题解 1345 跳跃游戏西湖娱乐城- 西湖娱乐城官方网站- 西湖娱乐城APP IV

  给你一个整数数组 arr ,你一开始在数组的第一个元素处(下标为 0)。

  记数组 arr 的长度为 n。题目描述的数组可以抽象为一个无向图,数组元素为图的顶点,相邻下标的元素之间有一条无向边相连,所有值相同元素之间也有无向边相连。每条边的权重都为 1,即此图为无权图。求从第一个元素到最后一个元素的最少操作数,即求从第一个元素到最后一个元素的最短路径长度。求无权图两点间的最短路可以用广度优先搜索来解,时间复杂度为 O(V+E),其中 V 为图的顶点数,E 为图的边数。

  在此题中,V=n,而 E 可达 O(n²) 数量级,按照常规方法使用广度优先搜索会超时。造成超时的主要原因是所有值相同的元素构成了一个稠密子图,普通的广度优先搜索方法会对这个稠密子图中的所有边都访问一次。但对于无权图的最短路问题,这样的访问是不必要的。在第一次访问到这个子图中的某个节点时,即会将这个子图的所有其他未在队列中的节点都放入队列。在第二次访问到这个子图中的节点时,就不需要去考虑这个子图中的其他节点了,因为所有其他节点都已经在队列中或者已经被访问过了。因此,在用广度优先搜索解决此题时,先需要找出所有的值相同的子图,用一个哈希表 idxSameValue 保存。在第一次把这个子图的所有节点放入队列后,把该子图清空,就不会重复访问该子图的其他边了。