215题 求K个最大元素问题

来源:4-4 使用查找表的经典问题 Two Sum

lynhao

2021-04-01

请问波波老师, 为什么随机在arr[l…r]的范围中取一个pivot 需要先做swap操作呀?

  swap( arr, l , (int)(Math.random()*(r-l+1))+l );
写回答

1回答

liuyubobobo

2021-04-01

这个函数的运行过程,是先执行 (int)(Math.random()*(r-l+1))+l


计算出这个值以后,swap 的所有参数才全都准备好,再执行 swap。


这就像运行 f(x + 1),是先把 x + 1 算出来,再把这个参数传给 f 一样。


继续加油!:)

1
1
lynhao
非常感谢!
2021-04-01
共1条回复

玩转算法面试-- Leetcode真题分门别类讲解

课程配套大量BAT面试真题,高频算法题解析,强化训练

7446 学习 · 1159 问题

查看课程