T368.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. //
  2. // Created by 李洋 on 2023/10/22.
  3. //
  4. #ifndef LEECODE_C_T368_H
  5. #define LEECODE_C_T368_H
  6. #include <vector>
  7. using namespace std;
  8. int minimumSum(vector<int> &nums) {
  9. int left = 0;
  10. int right = nums.size() - 1;
  11. for (int i = 0; i < right; ++i) {
  12. if (nums[left] >= nums[i]) {
  13. left = i;
  14. }
  15. }
  16. for (int i = right; i > left; --i) {
  17. if (nums[right] >= nums[i]) {
  18. right = i;
  19. }
  20. }
  21. if (right - left == 1) {
  22. return -1;
  23. }
  24. int max = left + 1;
  25. for (int i = left + 1; i < right; ++i) {
  26. if (nums[max] >= nums[i]) {
  27. max = i;
  28. }
  29. }
  30. return nums[left] + nums[right] + nums[max];
  31. }
  32. void runT368() {
  33. vector<int> arr; // [5,4,8,7,10,2] / [6,5,4,3,4,5]
  34. /* arr.push_back(5);
  35. arr.push_back(4);
  36. arr.push_back(8);
  37. arr.push_back(7);
  38. arr.push_back(10);
  39. arr.push_back(2);*/
  40. // arr.push_back(6);
  41. // arr.push_back(5);
  42. // arr.push_back(4);
  43. // arr.push_back(3);
  44. // arr.push_back(4);
  45. // arr.push_back(5);
  46. arr.push_back(50);
  47. arr.push_back(50);
  48. arr.push_back(50);
  49. auto result = minimumSum(arr);
  50. }
  51. #endif //LEECODE_C_T368_H
备用站点 当前处于降级运行的备用站点,仅供应急访问,数据和功能可能不是最新。