代码随想录第三十二天(一刷&&C语言)|单调递增的数字

创作目的:为了方便自己后续复习重点,以及养成写博客的习惯。

一、单调递增的数字

思路:参考carl文档

        当strNum[i - 1] > strNum[i](非单调递增),先让strNum[i - 1]--,再strNum[i]=9。再确定是从后向前遍历。

ledcode题目:https://leetcode.cn/problems/monotone-increasing-digits/

AC代码:

void itoa(int num, char* str, int* strSize) {
    *strSize = 0;
    while (num > 0) {
        str[(*strSize)++] = num % 10 + '0';
        num /= 10;
    }
    for (int i = 0; i < (*strSize) / 2; i++) {
        int tmp = str[i];
        str[i] = str[(*strSize) - 1 - i];
        str[(*strSize) - 1 - i] = tmp;
    }
}

int monotoneIncreasingDigits(int n) {
    int strNSize;
    char strN[11];
    itoa(n, strN, &strNSize);
    int i = 1;
    while (i < strNSize && strN[i - 1] <= strN[i]) {
        i += 1;
    }
    if (i < strNSize) {
        while (i > 0 && strN[i - 1] > strN[i]) {
            strN[i - 1] -= 1;
            i -= 1;
        }
        for (i += 1; i < strNSize; ++i) {
            strN[i] = '9';
        }
    }
    return atoi(strN);
}

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-15 00:02:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-15 00:02:03       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-15 00:02:03       82 阅读
  4. Python语言-面向对象

    2023-12-15 00:02:03       91 阅读

热门阅读

  1. 如何在PHP中发送电子邮件?

    2023-12-15 00:02:03       68 阅读
  2. 深度解析企业私域流量的价值与构建策略

    2023-12-15 00:02:03       55 阅读
  3. 【数据库】@Transactional用法详解

    2023-12-15 00:02:03       63 阅读
  4. Mybatis-Plus同时实现分表和表内多租户模式

    2023-12-15 00:02:03       58 阅读
  5. xml.dom.minidom --- 最小化的 DOM 实现

    2023-12-15 00:02:03       57 阅读
  6. C++二维数组(3)

    2023-12-15 00:02:03       49 阅读
  7. GO语言基础案例讲解

    2023-12-15 00:02:03       48 阅读
  8. 汽车IVI中控开发入门及进阶(十二):V4L2视频

    2023-12-15 00:02:03       58 阅读