![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法学习
谦卑处世
这个作者很懒,什么都没留下…
展开
-
双指针与滑动窗口
双指针构建滑动窗口滑动窗口原理滑动窗口: 整个窗口是在目标数组上滑动的,窗口的大小是快指针和慢指针之间的子数组,同过窗口的滑动以及窗口的收缩,在快指针遍历完一次数组后,得到符合条件的子窗口,并记录下来。注意: 滑动窗口的是一个先扩张,后收缩的过程,每次遍历只有快慢指针中的一个指针中的一个移动。在编程过程中,判断何时开始收缩是关键。滑动窗口实现例题:分析: 在此题中,滑动窗口开始收缩的条件是子数组的总和大于target。代码实现:int minSubArrayLen(int target,原创 2021-07-04 00:11:33 · 269 阅读 · 0 评论 -
二分法原理及实现
二分法原理及实现二分法原理EG:在一个有序的数组中,要想快速的找到目标元素。可以考虑运用二分法,相比于常规的遍历搜索,二分法的时间复杂度是log(n),其原理非常的简单,首次遍历先把整个数组分成两部分,用left,right,mid三个值来划分,首次比较即可省去一半的遍历数据,1/2,1/4,1/8,…直到找到目标元素。二分法实现例题:代码实现:二分法实现// 二分法int search(vector<int>& nums, int target) {原创 2021-07-02 11:59:52 · 1452 阅读 · 0 评论