temp偏移量问题
来源:1-3 实现归并过程
PHP微信小程序开发
2021-12-15 09:18:04
老师你好,我用php实现,逻辑照你的来写,测试用例:arr{7, 1, 4, 2, 8, 3, 6, 5}但是运行结果不正确。
ps:我用left表示老师的L
但是我让i 和 j 不减 left 结果反而正确了,我还不清楚问题出在哪里,请老师指点
1回答
liuyubobobo
2021-12-15
你的 temp 和 arr 之间没有偏移。因为 temp = arr 以后,temp 和 arr 的大小一样。对比课程代码中,temp 的大小是 r - l + 1,arr 的大小是 n。
你的写法相当于课程后续的一个优化中的写法,参考这里 69-91:https://git.imooc.com/class-105/Play-Algorithms-and-Data-Structures/src/master/10-More-about-MergeSort/03-MergeSort-Advanced-Optimization/src/MergeSort.java
(但是,你的 temp 是一个全局变量?)
继续加油!:)
相似问题