✌粤嵌—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;
}
相关推荐
土司大王18 小时前
LeetCode 17 电话号码的字母组合:Java 回溯模板、多叉决策树与复杂度分析
java·leetcode·决策树
find1star19 小时前
LeetCode 25:K 个一组翻转链表
java·数据结构·算法·leetcode·链表·职场和发展·动态规划
青山木20 小时前
Hot 100 --- 划分字母区间
java·数据结构·算法·leetcode·贪心算法
a1879272183121 小时前
【算法】双指针与滑动窗口(一):框架总纲——三类问题、一个原理与判决书
算法·leetcode·区间·双指针·滑动窗口·原理·算法讲解
橘子汽水16821 小时前
Leetcode 208,207实现Trie前缀树,课程表
java·数据结构·算法·leetcode
hanlin0321 小时前
刷题笔记:力扣第169题-多数元素
笔记·算法·leetcode
wabs66621 小时前
关于二叉树【力扣116.填充每个节点的下一个右侧节点指针的思考】
数据结构·c++·算法·leetcode·二叉树·层序遍历
Nil2081 天前
leetcode 74搜索二维矩阵
算法·leetcode·矩阵
不会就选b1 天前
算法日常・每日刷题--<贪心>7
数据结构·算法·leetcode