文章主要目的是帮助大家提升可信编程能力,刷题语言请选择C语言
考试过程,支持使用本地IDE工具,可以提升调试效率,也可直接在力扣界面编程,但是考试环境无法单步调试
经验概括:
1,熟能生巧,多练习能解决大部分问题;
2,善于总结模板,很多类型的题目有固定的解题思路,识别题目类型,使用模板提升编程效率;
算法模板:哈希表、bfs、dfs、并查集、队列、滑动窗口等算法类都可模板化;
3,善于使用库函数,避免重复造轮子,举例:
a,字符串处理函数:strcpy(拷贝);strcat(拼接);strcmp(比较);strtok(断开);strtol(字符串到long转换);strdup(新建指定内容子串)
b,qsort(快排);
从简单的功能实现,到相对复杂的算法处理
每个类型章节会挑选比较有典型的题目,分享给大家
标签统一使用力扣标签进行排序,越往前的章节,越基础越重要
一些题目可能反复出现,说明涉及多个分类,建议对同一题目多次练习,举一反三效果更好
每个标签的类型力扣本身有个小的开篇总结,参考力扣即可
说明:
1~12章内容均为基础内容,大部分还是偏向功能实现;
13章之后基本都是相关算法,算法的目的:1,解决功能问题,有些题目靠暴力已经无法解决;2,提升性能
此处不用专门找堆栈的题目,做其他题目时候注意堆栈使用即可
此处不用专门找位运算的题目,做其他题目时候注意位运算使用即可
二分查找难点一般是边界处理,二分之后经常出现边界点遗漏,结果导致题目无法全部通过
基于上述原因,其实二分查找只是提升性能,性能无要求,可以不关注