- 博客(6)
- 收藏
- 关注
原创 Day2 数组part2
题目见可以直接平方之后再排序,但是观察可以发现:平方之后最大的数不是最左边的数,就是最右边的数因此,可以考虑使用双指针 → 分别指向输入数组的左右两侧,平方比较之后,用另一个新的指针赋值在新开辟的内存空间中,这样的时间复杂度是O(n)while循环的终止条件是left≤right。
2023-05-25 22:55:21
166
1
原创 Day1 数组part1
原理比较简单,高中知识——每次选取区间中间值,与目标值比较,依据比较结果更新区间边界,不断往复,最终得到目标值。需要特别强调的是,二分法针对的数组必须是有序的!由于每次将数组长度折半,因此时间复杂度是O(logn),在长数组中查找具体的数值速度会很快。对应题目参见在实际编写代码时,需要注意:每次二分结束之后的子数组,需要在抽象的形式上和最开始的定义一致,以保证在while循环中的,从而保证边界条件的准确判断,避免死循环。
2023-05-24 23:05:06
231
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人