LeetCode刷题合集版——C++

本文分享了作者在LeetCode上使用C++进行算法练习的经验,包括刷题指南及个人GitHub上的题解仓库链接。

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

一、引言

最近在LeetCode上练习。现在分享一下我的写法。
LeetCode网址:https://leetcode.com/
LeetCode中文版:https://leetcode-cn.com/

我主要用的是c++。如果目的是练习算法,什么语言都行。

二、刷题指南

建议在LeetCode的Explore(中文版是“探索”)里面先把初级、中级和高级刷一下,都比较基础和常见。

然后可以针对自己不太会的标签刷。

三、题目合集

我的github连接:
https://github.com/landbroken/BasicKnowledge/tree/master/LeetCode/LeetCodeCpp

项目内cpp名称是序号,对应LeetCode上题目的序号

这个仓库是基础知识、基本算法、设计模式、leetcode都放在一起的大仓库,等我leetcode刷差不多了,再考虑独立出来一个仓库。

### LeetCode C++ 技巧与高效学习方法 #### 一、制定合理的计划 为了提高效率并避免盲目,可以参考以下策略。选择适合自己的路径非常重要,而不是从第一开始依次完成[^2]。推荐按照特定主分类进行训练,比如动态规划、贪心算法或者图论等。 #### 二、利用收藏夹管理难 对于难以掌握的目,应该将其加入到个人的收藏列表中,并设定周期性的复习机制。具体而言,当某道即使经过多次尝试仍然无法独立解答时,则应标记下来以便后续重点攻克[^1]。只有当你能够在没有任何辅助的情况下连续两次成功解决该问之后,才可以考虑将其移除出特别关注范围之外。 #### 三、注重理解而非单纯模仿 虽然网络上存在大量针对不同问的有效解决方案,但是简单复制粘贴他人的代码并不能真正提升自身的技能水平。更重要的是培养解决问的能力——即如何运用逻辑思考构建属于自己的算法模型来应对各种情况下的需求。因此,在面对每一个新案例时都应当先自行探索可行办法再查看标准答案作为对比参考。 #### 四、熟悉常用库功能 在采用C++语言参与在线评测平台上的项目实践过程中,熟练掌握Standard Template Library (STL) 的各项特性将会极大地简化操作流程并增强程序性能表现。例如vector容器用于存储可变数量的数据项;map关联数组用来建立键值映射关系等等[^3]。下面展示了一个简单的例子演示如何初始化向量以及执行基本运算: ```cpp #include <iostream> #include <vector> int main() { std::vector<int> vec = {1, 2, 3}; int sum = 0; for(auto num : vec){ sum += num; } std::cout << "Sum of elements is: " << sum << "\n"; } ``` 此外还需注意某些特殊场景下可能需要用到更高级别的组件如priority_queue实现最小堆最大堆转换等功能支持复杂业务逻辑处理要求。 #### 五、实战演练结合理论知识巩固基础概念 实际动手编写代码的同时也要不断回顾相关书籍资料加深印象。《挑战程序设计竞赛》系列丛书提供了丰富的实例讲解帮助读者更好地理解和应用各类经典算法思想。而像《算法导论》这样的权威教材则能够提供更加严谨详尽的技术背景介绍供深入研究探讨之用。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值