20q2.cpp 646 B

12345678910111213141516171819202122232425
  1. #include <algorithm>
  2. #include <immintrin.h>
  3. #include <numeric>
  4. #include <vector>
  5. class Solution {
  6. public:
  7. int maximumSum(std::vector<int> &nums) {
  8. int n = nums.size();
  9. int ans = 0;
  10. std::vector<int> b[3];
  11. for (auto num : nums)
  12. b[num % 3].push_back(num);
  13. for (int i = 0; i < 3; i++) {
  14. std::sort(b[i].begin(), b[i].end(), [](int a, int b) { return a > b; });
  15. if (b[i].size() >= 3) {
  16. ans = std::max(std::reduce(b[i].begin(), b[i].begin() + 3), ans);
  17. }
  18. }
  19. if (b[0].size() && b[1].size() && b[2].size()) {
  20. ans = std::max(ans, b[0][0] + b[1][0] + b[2][0]);
  21. }
  22. return ans;
  23. }
  24. };
备用站点 当前处于降级运行的备用站点,仅供应急访问,数据和功能可能不是最新。