![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
代码随想录
文章平均质量分 58
weixin_46362881
这个作者很懒,什么都没留下…
展开
-
Day2 数组part2
题目见可以直接平方之后再排序,但是观察可以发现:平方之后最大的数不是最左边的数,就是最右边的数因此,可以考虑使用双指针 → 分别指向输入数组的左右两侧,平方比较之后,用另一个新的指针赋值在新开辟的内存空间中,这样的时间复杂度是O(n)while循环的终止条件是left≤right。原创 2023-05-25 22:55:21 · 103 阅读 · 1 评论 -
Day1 数组part1
原理比较简单,高中知识——每次选取区间中间值,与目标值比较,依据比较结果更新区间边界,不断往复,最终得到目标值。需要特别强调的是,二分法针对的数组必须是有序的!由于每次将数组长度折半,因此时间复杂度是O(logn),在长数组中查找具体的数值速度会很快。对应题目参见在实际编写代码时,需要注意:每次二分结束之后的子数组,需要在抽象的形式上和最开始的定义一致,以保证在while循环中的,从而保证边界条件的准确判断,避免死循环。原创 2023-05-24 23:05:06 · 154 阅读 · 0 评论