如题,
可能又要准备找工作了,虽然现在经济行情都不好,但没有办法,只能继续捡起来 leetcode 刷。但发现效率很低,特来请教一下大家,有没有比较好的实践,能够快速刷题,尤其是能够快速复习。
- 目前我还是使用 c/c++做题比较多,感觉还是这个 language 做题最顺手。如果其它语言,有更有效率的刷题方法,我可以切换过去。(我还记得有个兄弟,说过用 Rust ,本地建立一个项目组还是啥的,能够把做完的题目管理起来,直接本地跑,不记得在哪里看到的了)
- vscode 可以用来刷题么?现在工作上面,用 vscode 很多,但是都是写前端,基本没有配置 c/c++,没有编译环境。不会还得安装一个 visual studo 吧
- 刚才试了一下 VSCode + leetcode (或 labuladong 插件),能够把 leetcode 的题目拉下来,在本地生成.cpp 文件,比如, 1.two-sum.cpp, 但是本地没有测试用例,没有办法跑起来。简单的代码没有问题,稍微有点复杂的代码,还是需要 debug ,或者跑跑测试的。我在 leetcode.com 上面,直接在线写,debug 功能需要付费(“考前”突击可以付费打开一断时间,但长时间使用,付不起)
- 还有一个需求,就是刷了几百道题后,怎么快速复习一下。如果在线一题一题的点,一题一题看的话,感觉效率很低。本地有大量文件的话,可能会快很多。
Anyway ,就是想看看/听听大家的想法,学习一下先进高效的方法。
谢谢
/*
* @lc app=leetcode id=1 lang=cpp
*
* [1] Two Sum
*/
// @lc code=start
class Solution {
public:
vector<int> twoSum(vector<int> &nums, int target) {
unordered_map<int, int> valToIndex;
for (int i = 0; i < nums.size(); i++) {
// 查表,看看是否有能和 nums[i] 凑出 target 的元素
int need = target - nums[i];
if (valToIndex.count(need)) {
return vector<int>{valToIndex[need], i};
}
// 存入 val -> index 的映射
valToIndex[nums[i]] = i;
}
return vector<int>{};
}
};
// @lc code=end