Fork me on GitHub

新手上路,培养写算法的风格与习惯!

目录

所在位置

一、 命名

良好的命名风格与习惯,可以让我们形成肌肉记忆,解题也更加得心应手。

1. 非题干的变量

做过一些算法题的同学,可以发现很多题目中一些非题干的变量都是雷同的.

举个简单的例子:T个案例,要求输入n个数字并输出。
每个案例第一行输入n,第二行输入n个数字。( 1 <= n <= 10^5)

​ N/maxn——用来表示需要数组的最大容量
​ T——表示案例
​ n——表示输入的个数
​ a[]——使用字母a表示数组(需要多个数组时优先用带含义的命名方式)

#include<bits/stdc++.h>//C++的万能头文件,一个顶多个
using namespace std;

//1ex+y=10^x+y,常用const 来修饰常量N
cosnt int N = 1e5+10;//一般加大一些防止越界。 
int T;
int n;
int main(){
    cin >> T;
    while(T--){//常用while(T--) 表示案例的减少
        cin >> n;
        for(int i = 1; i <= n; i++)
            cin >> a[i] >> endl;
    }
    for(int i = 1; i <= n; i++)
        cout << a[i] << " " << endl;
    return 0;
}

基本上每一个算法题,都需要用到这些变量中的一个或者多个。

2. 关于题干的变量

题干的变量用具体的含义来命名

题干的一些名词变量,用本身含义命名,如:
apple、
price
...

学了一些算法后,可以用算法相关的来专门命名,如:
dfs——表示深搜
bfs——表示广搜
dif——表示差分
...

需要注意的是:以下变量会与algorithm.h库中函数重名,需要进行一定修改
count——cnt
min——minNum
max——maxNum
...

二、使用缺省模板

用缺省模板,可以在编译器中新建c、cpp文件时自动生成设置好的常用模板

不同的编译器可以专门去搜索一下如何设置,以下给出几个常用模板

当然模板随自己喜欢的修改即可!

简化版:

#include <bits/stdc++.h>
using namespace std;
 
int main()
{
    
    return 0;
}

基础版:

#include <bits/stdc++.h>

#define INF 0x3f3f3f3f
#define EPS 1e-6
using namespace std;
typedef long long LL;
const int N = 1e5 + 10;
 
int main()
{
    // freopen("input.txt", "r", stdin); 
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
	
    return 0;
}

三、摆正学习算法的心态

学习算法最关键的还是老老实实刷题!!!

培养好良好的习惯与风格只是学习算法的调味剂,多刷题才是最重要的!!!

posted @ 2020-10-14 10:57  解尼  阅读(133)  评论(0编辑  收藏  举报