670.h 681 B

123456789101112131415161718192021222324252627282930313233
  1. //
  2. // Created by 李洋 on 2024/1/22.
  3. //
  4. #ifndef LEECODE_C_670_H
  5. #define LEECODE_C_670_H
  6. #include <string>
  7. using namespace std;
  8. int maximumSwap(int num) {
  9. string charArray = to_string(num);
  10. int n = charArray.size();
  11. int maxIdx = n - 1;
  12. int idx1 = -1, idx2 = -1;
  13. for (int i = n - 1; i >= 0; i--) {
  14. if (charArray[i] > charArray[maxIdx]) {
  15. maxIdx = i;
  16. } else if (charArray[i] < charArray[maxIdx]) {
  17. idx1 = i;
  18. idx2 = maxIdx;
  19. }
  20. }
  21. if (idx1 >= 0) {
  22. swap(charArray[idx1], charArray[idx2]);
  23. return stoi(charArray);
  24. } else {
  25. return num;
  26. }
  27. }
  28. #endif //LEECODE_C_670_H
备用站点 当前处于降级运行的备用站点,仅供应急访问,数据和功能可能不是最新。