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


    目录

    所在位置

    一、 命名

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

    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;
    }
    

    三、摆正学习算法的心态

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

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

  • 相关阅读:
    Promise/Deferred
    理解RESTful架构
    XSS跨站脚本攻击
    crsf 跨站请求伪造
    街头生意
    什么是开光
    影响力
    linux上安装rar解压软件
    sip协议音视频性能测试
    解决关键SSL安全问题和漏洞
  • 原文地址:https://www.cnblogs.com/Hokkaido-JL/p/13813578.html
Copyright © 2020-2023  润新知