zoukankan      html  css  js  c++  java
  • LeetCode笔记

    本文记录一下自己在leetcode刷题过程中遇到的常用问题的实现方式或者常用的知识点,参考的都是比较官方、比较正确、效率较高的实现方式。类似于高中数学的笔记本,记一些常用的解题技巧,有助于提升做题速度。本文长期更新,希望本文不要“太监”。

    1. 得到一个int型的数据每一位上的数

    '''
    每次循环得到x的一位上的数,从右往左。
    实际实现时,每次循环可把digit放到数组里。
    '''
    while(x != 0){
          digit= x % 10;
          x /= 10;
    }
    
    

    2. 由一个int型数据每一位上的数,得到原始的int型数据(接1.)

    '''
    每次循环取出存在数组里的一位上的数,
    如果想原顺序,从数组中取一位上的数digit时,就从左往右(在原数x上的顺序)。
    如果想逆序,从数组中取一位的数digit时,就从右往左(在原数x上的顺序)。
    '''
    int rev = 0;
    for(循环条件){
          rev = rev * 10 + digit
    }
    

    3. int类型范围

    C++数据类型的范围与系统与编译器有关,int类型至少占16bits,也就是范围至少为([-2^{15},2^{15}-1])。在Visual Studio中,int占32bits,范围为([-2^{31}, 2^{31}-1])。有多种方式实现int类型范围的使用。
    (1)可直接在程序中定义int类型中的最大最小值:

    int int_max = 0x7fffffff, int_min = 0x80000000;
    

    由于int_max = int_min - 1,且int_min = int_max + 1,所以也可只定义一个,另一个通过已定义的得到(LeetCode运行下面的定义方式会报错,不允许溢出计算)。如:

    int int_max = 0x7fffffff, int_min = int_max + 1;
    

    或:

    int int_min = 0x80000000, int_max = int_min - 1;
    

    (2)<climits>(limits.h)头文件中定义了特定系统和编译器对应的整型数据的的范围。可通过如下方式调用:

    #include <climits>
    ...
    std::cout << INT_MAX << std::endl << INT_MIN << std::endl;
    
    

    浮点类型数据的范围定义在<cfloat>(float.h)头文件中。
    (3) <limits>头文件中定义了类模板numeric_limits,包含了C++中所有算术类型(整型和浮点型)的相关信息。用numeric_limits得到int类型的最大最小值方式如下:

    #include <limits>
    ...
    std::cout << std::numeric_limits<int>::max() << std::endl << std::numeric_limits<int>::min() << std::endl;
    
  • 相关阅读:
    容器技术问题
    URL和URL
    容器和注入技术
    云计算应用开发与实践读书 笔记(三)
    云计算应用开发与实践读书 笔记 (二 )
    云计算应用开发与实践读书 笔记
    C++学习之DLL注入
    c语言学习,模拟栈操作
    领悟百分比定位
    强大的第三方工具autoPrefixer
  • 原文地址:https://www.cnblogs.com/wtyuan/p/13697663.html
Copyright © 2011-2022 走看看