要开始刷leetcode

要决定刷leetcode了,有一些需要记录的东西,一个相当于做笔记,一个当是和大家分享吧。

刚开始写技术博客,前期可能多转载参考大神的帖子吧,再加上自己的消化分析,希望对自己和对他人都有帮助吧。


这前期写的东西可以对新人有用,我也是一个新手,所以尽量多记录自己犯的错误。

为什么选择leetcode

因为是针对面试找工作的,对即将毕业的自己帮助非常大。

leetcode在线编译,如果有错,会提示不通过的测试用例,让自己“死”的明白。

自己在刷题的步骤和方法。

1-两套代码。应该追求高效精简的方法,所以一定不要是自己写完就没事,一定要多参考网上他人的代码。也就是自己写一套,从网上各个代码中先一套自己认为非常好。

2-一定要两遍以上。

### 如何使用 C++ 从零开始高效 LeetCode 题目 #### 初步准备 为了能够顺利地利用 C++ 进行 LeetCode 的练习,首先需要完成注册与登录操作[^1]。这一步骤是进入平台并解锁其功能的基础。 #### 学习基础语法 熟悉 C++ 基础语法对于解决算法问题是至关重要的。可以通过编写简单的程序来掌握基本的数据结构和控制流语句。例如,在处理优先队列时可以参考如下代码片段: ```cpp #include <iostream> #include <queue> int main() { std::priority_queue<int, std::vector<int>, std::greater<>> q; // 小顶堆定义 q.push(9); q.push(-1); q.push(8); while (!q.empty()) { std::cout << q.top() << " "; q.pop(); } } ``` 上述代码展示了如何通过 `std::greater` 和 `std::less` 来分别创建小顶堆和大顶堆[^2]。 #### 掌握核心数据结构与算法 LeetCode 上的许多题目都涉及常见的数据结构和算法设计模式。比如动态规划是一种非常有效的解决问题的方法之一。在某些情况下,可能需要用动态规划的思想求解最优子结构性质的问题。例如,“买卖股票的最佳时机”问题可以用以下方式实现[^3]: ```cpp class Solution { public: int maxProfit(vector<int>& prices) { if (prices.size() == 0) return 0; int minPrice = INT_MAX; int maxProfit = 0; for(auto price : prices){ if(price < minPrice) minPrice = price; else if((price - minPrice) > maxProfit) maxProfit = price - minPrice; } return maxProfit; } }; ``` #### 动态规划的应用实例 当遇到更复杂的优化类问题时,如硬币找零问题,则需深入理解动态规划的核心概念及其应用方法。具体来说,这类问题通常涉及到状态转移方程的设计以及边界条件的设定。以下是基于完全背包模型的一个解决方案示例[^4]: ```cpp const static int INF = 0x3f3f3f3f; class Solution { public: int coinChange(vector<int> &coins, int amount) { vector<int> dp(amount + 1, INF); dp[0] = 0; for(int i=0;i<coins.size();i++) { for(int j=coins[i];j<=amount;j++) { if(dp[j-coins[i]] != INF){ dp[j] = min(dp[j], dp[j-coins[i]]+1); } } } return dp[amount]==INF ? -1 : dp[amount]; } }; ``` #### 记录与总结 持续记录个人的学习过程非常重要。即使不详尽解释每道题目的解答逻辑,也应保存已完成的任务列表以便后续复习巩固所学知识[^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值