手机浏览器扫描二维码访问
whilei<=jandarr[i]<=pivot:
i+=1
whilei<=jandarr[j]>pivot:
j-=1
ifi<j:
arr[i],arr[j]=arr[j],arr[i]
arr[low],arr[j]=arr[j],arr[low]
#先压入较大的区间,控制栈深度
if(j-low)>(high-j):
stack.append((low,j-1))
stack.append((j+1,high))
else:
stack.append((j+1,high))
stack.append((low,j-1))
returnarr
写完代码,时间才过去八分钟。
“我写完了”
。
林晨说。
“比预期快”
。
面试官的声音听不出情绪,“先解释一下为什么用迭代而不是递归”
?
“两个考虑”
。
林晨清了清嗓子,“第一,工程实践中,递归深度受系统栈限制,处理大规模数据有风险。
第二,迭代版本更容易加入自定义的调度策略——比如我刚才优先处理较小分区,这能进一步控制栈的使用量”
。
“随机选择基准呢”
?
“这是应对实际数据分布的策略。
教科书上的快速排序在最坏情况下——比如数组已经有序或逆序——会退化到o(n2)。
真实业务数据常常有部分有序的特征,随机化能保证数学期望上的o(nlogn),更稳定”
。
面试官沉默了几秒,林晨能听到那头轻微的键盘敲击声,大概是在记录。
“时间复杂度分析”
。
...
关于借你一方炽热,驱我半生阴寒天生阴寒体弱之人,经神秘先生指引,需与至阳之人一起生活。寄养的几年,二人情愫渐生,彼此承诺约定终生。门庭差异,门户之见,相聚又离别,终是抵不过心底的眷恋。无意中,发现多年前谒语。一番探知与寻觅,却难寻真义。终有后人解谜,方知早已缘定今生。...
TXT下载,无错,番外...
无cp,主角不怼天不怼地(主角本来是反派组转型过来的,这里的反派组不是逆袭反派组类似于被控制做一些不想做的那种反派,这个部门本身是惩罚犯错的任务者主角当初会被分过去也是被人算计的,所以一开始会不太适应,做任务会避开男女主,后期会慢慢适应过来的)秦戈快穿局反派部门的优秀员工,申请到休闲部门,遇上主系统被攻击意外到了新...
TXT下载,最新章节,无错,番外...
...