每次移动较小侧指针;如果移动到更小的可以跳过计算结果,从而做到加速优化。
• 要 count 没用。 • i 到头以后,后面用 left遍历到底即可。
先集合存储,然后只研究左断点即可;遇到左端点就向右查找到尽头;注意存储后直接遍历集合
💡 思路:外层双指针,内层选 pivot,拷贝指针并左右缩小范围。 🕙 时间复杂度:O(nlogn)。证明很复杂 📂 空间复杂度:O(n)。需要栈空间
💡 思路:外左内中始;内层逐步把新值插入到左侧有序组中 🕙 时间复杂度:O(n^2)。 📂 空间复杂度:O(1)。插入排序是原地排序算法。 1. 插入排序,分成左右两个子数组,左侧有序,右侧无序;内层循环把右侧逐一插入到左侧,即把左侧有序组的数值依次右移一位;不然就写成其他排序了。
💡 思路:外左内左始;内层遍历后交换。 🕙 时间复杂度:O(n^2)。 📂 空间复杂度:O(1)。选择排序是原地排序算法。 1. 选择排序,内层循环是遍历找到极值然后交换,不然就写成其他排序了。