【刷题笔记】2022.7-2022.9

本文记录了作者连续两天在LeetCode、Codeforces等平台上的算法刷题经历,包括使用两个栈实现队列、包含min函数的栈、图像渲染、岛屿数量等题目,并分享了解题思路及代码实现技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为了监督自己每天坚持刷题


ps.
这里主要是LeetCodeCodeforcesXCPC或许还有各大高校同步赛等练习题的笔记
一题有多解,但笔者只给出自己擅长的解法,也不一定是最优的,请批判性地看
AC代码一般网上都有,若找不到,欢迎私信交流~


2022.7.5

  • 剑指 Offer 09. 用两个栈实现队列
    在这里插入图片描述

  • 剑指 Offer 30. 包含min函数的栈
    – 借助辅助队列
    !](https://img-blog.csdnimg.cn/5c345fd6c33f47fc95bf09075092da86.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/f62abff8f4004233bd7a8e98442c54c4.pn

  • 733.图像渲染
    – 简单题,BFS或DFS即可实现
// 伪代码
queue<pair<int,int>> Q;
Q.emplace(x,y)
while(!Q.empty()){
	tmpx=Q.front().first;
	tmpy=Q.front().second;
	Q.pop();
	if(){
		Q.emplace(tmpxx,tmpyy);
	}
}

  • 200.岛屿数量
    – 简单题,跟上题类似,BFS,DFS
    – BFS再套一层循环判断每一个点是否为1

2022.7.6

  • 剑指 Offer 06. 从尾到头打印链表
    – 简单题,借助辅助数组存储,然后reverse()

  • 剑指 Offer 24. 反转链表
    – 简单题,一开始想法是建立一个新的链表,用头插法实现原链表反转
    – 看了题解,有更巧妙并且容易理解的办法
    https://leetcode.cn/problems/fan-zhuan-lian-biao-lcof/solution/fan-zhuan-lian-biao-yi-dong-de-shuang-zhi-zhen-jia/

  • 剑指 Offer 35. 复杂链表的复制
    – 笔者自认为对指针的理解还不够到位,下次出个专题
    – 这里的复制注意不是简单的复制,需要重新构造一个链表,可以采用哈希映射存储原来的指针关系map<Node*,Node*> MAP,然后重新new Node

  • 695.岛屿的最大面积
    – 是昨日200.岛屿数量一题的进阶版,只需在每次更新gird[i][j]的时候sum++,然后将每一块岛屿的面积存在数组里,最后sort()一下,返回最大值

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Jaggar_F

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

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

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

打赏作者

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

抵扣说明:

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

余额充值