leetcode刷题数组篇总结


前言

leetcode刷题数组:

这是我第一次开始认真做题和写博客,希望我能一直坚持下去,每天可以做一道题或者两道题然后写博客.养成刷题的习惯,基本上每一次做题我都能惊讶大佬的题解这么巧妙,有时候真的会感觉到智商上的不足,所以只能用量来锻炼自己.我这些题都是跟着别人的推荐做的顺序,从数组开始到后面的贪心,动态规划什么的.一步步做下去深入,坚持锻炼自己的算法能力.希望自己也能写出让别人看到后会惊讶的题解.


leetcode刷题数组题型和技巧

一.数组的二分查找

二分查找是考数组查找最常用的算法,时间复杂度是logn,所以如果题目限定时间复杂度有logn,那么大概就是需要用到二分法,我第一次写二分时也经常考虑少因素.比如循环的判断条件,区间应该取哪里,左下标应该+1还是不需要等.

下面是我刷过的二分查找的题:

二.双指针删除元素

原理是一个指针在前面,一个指针在后面,然后对数据进行操作,每一次根据条件变换位置.

三.滑动窗口

滑动窗口最难的地方在于它的条件,总体想法想出来后如何建立它的条件才是最主要的部分.先把字符一个个加入,然后满足条件后是否需要缩减或者记录.

模板:

int windows[128] = { 0 };
int left = 0,right = 0;
while(right<s.length){
	++windows[s[right]];		//扩展
	right++;
	while(条件){
		if(){}					//记录
		--windows[s[left]];		//缩减
		left++;
	}
}

后续做到相关的题会继续更新.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

公仔面i

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

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

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

打赏作者

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

抵扣说明:

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

余额充值