代码随想录训练营day2

209 长度最小的子数组

关键点1:暴力法其实相当于两个指针,一指针相对禁止时,另一指针遍历,时间复杂度大。

关键点2:滑动窗口法其实是双指针法的一种,群里用“毛毛虫”的比喻很形象,在这里两个指针并不是一静止、一运动,而是同时运动。

关键点3:使用while循环而不是for循环,因为毛毛虫往前吃掉的可能比较大,需要多“拉”几个数出来,至于几个不知道,所以用while;

关键点4:在while循环里每次用nums[i++];

59 螺旋数组

没有花哨的求解,只能一步步理清过程

关键点1:明确原则,最好用左闭右开,因为左闭右闭时行遍历完,列只能遍历n-1个,对角是公共点;

关键点2:循环遍历,确定循环几次以及每次循环起点(每次加1)

关键点3:n为奇数时,中心点单独处理。

58 区间和

cin >> i;cin >> &result[i]

关键点1:存储输入的键盘值。scanf("%d",&result[i]);

关键点2:创建一维数组,存储逐行相加值,[a,b]区间和是p[b]-p[a-1],a为0时除外

44开发商购买土地

创建初始化的二维vector数组

vector<vector<int>> result(n,vector<int>(m,0));

关键点1:接收键盘值cin >> vec[i][j];

关键点2:result = min(result,abs(sum - horicut - horicut));之所以减两次是求分开两部分的差值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值