✌粤嵌—2024/4/15—汇总区间

代码实现:

cpp 复制代码
/**
 * Note: The returned array must be malloced, assume caller calls free().
 */
char** summaryRanges(int* nums, int numsSize, int *returnSize) {
    char **res = malloc(sizeof(char*) * numsSize);
    *returnSize = 0;
    int i, j;
    for (i = 0; i < numsSize; i++) { // i: 区间左边第一个
        for (j = i + 1; j < numsSize; j++) { // j-1:区间右边第一个
            if (nums[j] != nums[j - 1] + 1) {
                break;
            }
        }
        // [i...j-1]
        char *ret = malloc(sizeof(char) * (25));
        sprintf(ret, "%d", nums[i]);
        if (i != j - 1) {
            sprintf(ret + strlen(ret), "->");
            sprintf(ret + strlen(ret), "%d", nums[j - 1]);
        }
        ret[strlen(ret)] = '\0';
        res[(*returnSize)++] = ret;
        i = j - 1;
    }
    return res;
}
相关推荐
·云扬·2 小时前
【Leetcode hot 100】101.对称二叉树
算法·leetcode·职场和发展
睡不醒的kun7 小时前
leetcode算法刷题的第三十二天
数据结构·c++·算法·leetcode·职场和发展·贪心算法·动态规划
共享家952712 小时前
经典动态规划题解
算法·leetcode·动态规划
1白天的黑夜113 小时前
栈-844.比较含退格的字符串-力扣(LeetCode)
c++·leetcode·
Swift社区15 小时前
LeetCode 378 - 有序矩阵中第 K 小的元素
算法·leetcode·矩阵
墨染点香15 小时前
LeetCode 刷题【73. 矩阵置零】
算法·leetcode·矩阵
林木辛16 小时前
LeetCode热题 438.找到字符中所有字母异位词 (滑动窗口)
算法·leetcode
dragoooon3416 小时前
[优选算法专题二——NO.16最小覆盖子串]
c++·算法·leetcode·学习方法
1白天的黑夜119 小时前
栈-1047.删除字符串中的所有相邻重复项-力扣(LeetCode)
c++·leetcode·