请问一下大佬们这两句话有什么区别?
  • 板块学术版
  • 楼主晚晴
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/12/26 00:53
  • 上次更新2024/12/26 00:55:09
查看原帖
请问一下大佬们这两句话有什么区别?
143303
晚晴楼主2024/12/26 00:53

在用dijkstra做单源最短路的模板,然后一开始松弛那里是这么写的:

if ((to_dis = d + w) < m_distance[to]) {
    m_distance[to] = to_dis;
    heap.push(to);
}

就正常通过了,然后我想给它整短一点写成这样:

m_distance[to] = (to_dis = d + w) < m_distance[to] ? heap.push(to), to_dis : m_distance[to];

结果超时了,想不明白这是怎么个事。

2024/12/26 00:53
加载中...