代码随想录一刷 数组专题总结

基于代码随想录网站内容:代码随想录 (programmercarl.com)

目录

1.二分查找

2.移除元素

3.有序数组的平方

4.长度最小的子数组【必须复习】

5.螺旋矩阵||【最好复习】


总结:涉及区间时就要想到循环不变量问题

1.二分查找 (力扣704)

考点:查找算法之二分查找(+循环不变量)

使用信号:

①数组有序

②数组中无重复元素

方法:

①定义左右指针

②取中值

③比大小

④移动左右指针

2. 移除元素(力扣27)

考点:双指针法(快慢指针法)

使用信号:数组排序

方法:

①定义快慢指针

②用快指针寻找新数组的元素

③将新数组元素复制到慢指针指向的新数组下标的位置

3.有序数组的平方 (力扣977)

考点:排序算法之双指针法

使用信号:数组有序

方法:

①定义新数组

②定义头尾指针

③移动指针来构建新数组

相关知识:

①C#定义数组:

②C#数组长度的表示:

4.长度最小的子数组(力扣209)【必须复习!】

考点:滑动窗口(实际是双指针法)

使用信号:长度最小的连续子数组

方法:

①用一个for循环遍历滑动窗口的终止位置

②根据子序列的和的大小不断调节滑动窗口的起始位置

相关知识:

int.MaxValue

在C#中表示int的最大值

5.螺旋矩阵II(力扣59题)【最好按C#那个利用对称性做法再做一下】

考点:循环不变量原则

使用信号:涉及数组多次循环的边界条件判断时用

方法:

  • 填充上行从左到右
  • 填充右列从上到下
  • 填充下行从右到左
  • 填充左列从下到上

由外向内一圈一圈这么画下去。

技巧:利用对称性(详见代码随想录的C#算法)

相关知识:

①C#多维数组的两种定义形式:

1、矩形数组

2、锯齿数组(数组的数组)

参考文章:

C#语言之二维数组 - 北宋小康 - 博客园 (cnblogs.com)

C# 二维数组(2d Array)解析 - chenlight - 博客园 (cnblogs.com)

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_69987707

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值