✌粤嵌—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;
}
相关推荐
做怪小疯子3 小时前
LeetCode 热题 100——哈希——最长连续序列
算法·leetcode·哈希算法
Dream it possible!3 小时前
LeetCode 面试经典 150_二叉树_二叉树展开为链表(74_114_C++_中等)
c++·leetcode·链表·面试·二叉树
做怪小疯子3 小时前
LeetCode 热题 100——双指针——三数之和
算法·leetcode·职场和发展
sin_hielo4 小时前
leetcode 2536
数据结构·算法·leetcode
flashlight_hi4 小时前
LeetCode 分类刷题:203. 移除链表元素
算法·leetcode·链表
py有趣4 小时前
LeetCode算法学习之数组中的第K个最大元素
学习·算法·leetcode
吗~喽4 小时前
【LeetCode】将 x 减到 0 的最小操作数
算法·leetcode
flashlight_hi7 小时前
LeetCode 分类刷题:3217. 从链表中移除在数组中存在的节点
javascript·数据结构·leetcode·链表
Tisfy8 小时前
LeetCode 2536.子矩阵元素加 1:二维差分数组
算法·leetcode·矩阵
小欣加油9 小时前
leetcode 2536 子矩阵元素加1
数据结构·c++·算法·leetcode·矩阵