accumulate函数的简单应用

accumulate函数是C++ numeric库中的一个函数,主要用来对指定范围内元素求和,但也自行指定一些其他操作,如范围内所有元素相乘、相除等。
使用前需要引用头文件:

#include 
  • 函数共有四个参数,其中前三个为必须,第四个为非必需。
  • 若不指定第四个参数,则默认对范围内的元素进行累加操作。

计算数组中所有元素的和:

    vector<int> arr{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    int sum = accumulate(arr.begin(), arr.end(), 0); // 初值0 + (1 + 2 + 3 + 4 +... + 10)
    cout << sum << endl;	// 输出55

例题:最富有客户的资产总量

遍历即可。

class Solution {
public:
    int maximumWealth(vector<vector<int>>& accounts) {
        int maxWealth = INT_MIN;
        for (auto &account : accounts) {
            maxWealth = max(maxWealth, accumulate(account.begin(), account.end(), 0));
        }
        return maxWealth;
    }
};

注:
INT_MIN和INT_MAX定义在#include 中,且INT_MAX为 2 31 − 1 2^{31}-1 2311 ,即 2147483647 2147483647 2147483647 ; INT_MIN为 − 2 31 -2^{31} 231 2147483648 2147483648 2147483648

更多请参考:C++ accumulate函数介绍、具体案例

你可能感兴趣的:(C/C++刷题笔记,算法)