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回答
-
这个函数的运行过程,是先执行 (int)(Math.random()*(r-l+1))+l
计算出这个值以后,swap 的所有参数才全都准备好,再执行 swap。
这就像运行 f(x + 1),是先把 x + 1 算出来,再把这个参数传给 f 一样。
继续加油!:)
112021-04-01
相似问题