刷题技巧
来源:互联网 发布:中国移动app 软件下载 编辑:程序博客网 时间:2024/05/16 08:18
我看大家刷题刷的我心好累,明明刷题是最简单的,你们怎么能把它搞的这么复杂==
算法题是技术面试的重点,绝对是重点。简单题要求你能一遍写的bug free。实话,好像也没考过难题。
1.首先,打开leetcode那个网站之后在框里直接写,不要用IDE了。
2.其次,java流你需要了解容器最基本的用法和函数。C++流你需要了解STL的用法和泛型算法。(这是最基本的)
java:https://docs.oracle.com/javase/7/docs/api/overview-summary.html
C++: http://www.cplusplus.com/
3.按照分类刷题,就是右下角tag。
绝对不要一开始就点开数组,为什么,数组是什么都能用的,什么DP啦,贪心啦都能用数组。
我推荐第一个分类是链表,所有的链表题是有模版的,不管你做什么题,你都需要考虑三个因素:判头判尾判空。
hard难度的题目不想想就先放过,easy和medium难度的需要掌握,尤其是easy,面试要是考到原题一定要写的bug free.
easy和medium难度要是想不出来就看答案,看完答案AC之后这还不算完事,你第二天一定要不看答案自己写一遍。要是忘了就再看答案,然后第三天以此类推。
hard难度不要强求自己啦,你要是真能easy和medium全通了,找个差不多的好工作也根本不是啥问题。
4.看discuss很重要(选most votes),不要网上搜解题报告,要是discuss的code看不懂了再搜,看看有什么好的解释来帮助你理解这个问题。
还有一个重点就是一定要反复记忆,这个跟背单词没有任何区别,第一遍绝对是最痛苦的,如果你想来第二遍,你就会发现好多题都会了,都能写的bug free了。
要是想调试的话,直接在函数中间cout那个变量,leetcode是支持中间打印东西的。
还有一条,能写的短的函数一定要写的短。
就是比如说翻转字符串:
使用STL的话:可以这么写:
如果面试官不让你使用STL的话,可以这么写:
(我这种写法叫做字符串的in-place翻转,一共就三句话,你需要把它背下来。)
算法题是技术面试的重点,绝对是重点。简单题要求你能一遍写的bug free。实话,好像也没考过难题。
1.首先,打开leetcode那个网站之后在框里直接写,不要用IDE了。
2.其次,java流你需要了解容器最基本的用法和函数。C++流你需要了解STL的用法和泛型算法。(这是最基本的)
java:https://docs.oracle.com/javase/7/docs/api/overview-summary.html
C++: http://www.cplusplus.com/
3.按照分类刷题,就是右下角tag。
绝对不要一开始就点开数组,为什么,数组是什么都能用的,什么DP啦,贪心啦都能用数组。
我推荐第一个分类是链表,所有的链表题是有模版的,不管你做什么题,你都需要考虑三个因素:判头判尾判空。
hard难度的题目不想想就先放过,easy和medium难度的需要掌握,尤其是easy,面试要是考到原题一定要写的bug free.
easy和medium难度要是想不出来就看答案,看完答案AC之后这还不算完事,你第二天一定要不看答案自己写一遍。要是忘了就再看答案,然后第三天以此类推。
hard难度不要强求自己啦,你要是真能easy和medium全通了,找个差不多的好工作也根本不是啥问题。
4.看discuss很重要(选most votes),不要网上搜解题报告,要是discuss的code看不懂了再搜,看看有什么好的解释来帮助你理解这个问题。
还有一个重点就是一定要反复记忆,这个跟背单词没有任何区别,第一遍绝对是最痛苦的,如果你想来第二遍,你就会发现好多题都会了,都能写的bug free了。
要是想调试的话,直接在函数中间cout那个变量,leetcode是支持中间打印东西的。
还有一条,能写的短的函数一定要写的短。
就是比如说翻转字符串:
使用STL的话:可以这么写:
1
2
3
4
5
6
7
class
Solution {
public
:
string reverseString(string s) {
reverse(s.begin(), s.end());
return
s;
}
};
如果面试官不让你使用STL的话,可以这么写:
(我这种写法叫做字符串的in-place翻转,一共就三句话,你需要把它背下来。)
1
2
3
4
5
6
7
8
9
10
class
Solution {
public
:
string reverseString(string s) {
int
i = 0, j = s.size()-1;
while
(i < j){
swap(s[i++], s[j--]);
}
return
s;
}
};
最后,希望北邮人都能找个好工作。
0 0
- 刷题技巧
- 刷题算法小技巧
- LeetCode刷题总结和技巧归纳
- 淘宝刷单技巧
- 翻译题技巧.doc
- oj判题技巧
- HDU 1173(技巧题)
- 面试技巧题
- 做题技巧
- 做题技巧
- 做题技巧
- 笔试数列题技巧
- hdu 1046 技巧题
- 排列题应试技巧
- 技巧
- 技巧
- 技巧
- 技巧
- MySQL: 1006
- 像素级编码标识点识别
- java 包
- javaScript高级程序设计学习笔记(4)
- Android输入法遮盖输入框(屏幕底部输入框不能往上弹)
- 刷题技巧
- PHP流程控制替代语法(if\for\foreach\while\switch case)
- vue编写的移动端筛选条组件。
- (python)使用python的random库 模拟发红包算法
- centos内核升级的两种方法
- viewPager+fragment实现分页切换,跳转至别的页面改变数据,fragment没有改变
- Mysql----查看数据库,表占用磁盘大小
- 【Natural Language Processing】社区问答系统中的comment分类
- Centos Linux Anaconda Python Pip安装、启动和环境配置