算法-数组

1. 二分查找

  • 指数函数和对数函数的参数和返回值均为浮点数,因此运算过程中会存在误差,应该要进行判断.(浮点数之间的计算存在误差, 而整数之间的计算不会存在误差)
// 求x的算数平方根
int ans = exp(0.5 * log(x));
return ((long long)(ans + 1) * (ans + 1) <= x ? ans + 1 : ans);
  • 计算机无法精确的表示浮点数, 例如0.2 和0.1, 在计算机内部使用二进制数表达的, 无法表示精度, 所以0.2加0.1的结果可能稍微大于0.3

0.1的二进制表示大致如下:0.0001100110011001100110011…(无限循环)
0.2的二进制表示大致如下:0.001100110011001100110011…(无限循环)

  • 两个int类型相乘,得到的结果如果用int类型表示,可能会溢出,应该用long = (long) int * int;

  • 数组的元素不能删除, 只能覆盖

  • 字符串可以直接通过下标访问每一个字符

    String s = “hello”;
    其中s[1] = ‘h’

  • 调用substr()函数可以提取子字符串

    c.substr(0, slow) 是在C++中用于提取子字符串的方法,它的含义是从字符串 c 中提取从索引 0 开始(包括索引 0)到索引 slow 之前(不包括索引 slow)的部分。

  • c++中判断两个字符串是否相等

    1. 使用==运算符: 你可以使用运算符直接比较两个字符串,如果它们的内容相同,则返回true,否则返回false。
    if (str1 == str2) {
    std::cout << "字符串相等" << std::endl;
    } 
    
    1. 使用compare方法: std::string类还提供了compare方法,用于比较两个字符串。如果两个字符串相等,compare方法返回0,否则返回一个非零值,表示它们的差异
    if (str1.compare(str2) == 0) {
        std::cout << "字符串相等" << std::endl;
    } else {
        std::cout << "字符串不相等" << std::endl;
    }
    
    1. 自定义函数

螺旋矩阵

  • 获取一个二维数组中元素的个数

    例如:获取vector<vector>& matrix 的元素个数

    int rows = matrix.size(), columns = matrix[0].size();
    int total = rows * columns;
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值