✌粤嵌—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;
}
相关推荐
菜鸟233号14 小时前
力扣654 最大二叉树 java实现
java·算法·leetcode
鹿角片ljp15 小时前
力扣144.二叉树前序遍历-递归和迭代
算法·leetcode·职场和发展
好易学·数据结构16 小时前
可视化图解算法73:跳台阶(爬楼梯)
数据结构·算法·leetcode·动态规划·笔试
Tisfy16 小时前
LeetCode 3433.统计用户被提及情况:(大)模拟
linux·算法·leetcode
长安er16 小时前
LeetCode 98. 验证二叉搜索树 解题总结
java·数据结构·算法·leetcode·二叉树·力扣
sin_hielo16 小时前
leetcode 3433
数据结构·算法·leetcode
Swift社区16 小时前
LeetCode 448 - 找到所有数组中消失的数字
算法·leetcode·职场和发展
茶猫_16 小时前
C++学习记录-旧题新做-字符串压缩
c语言·c++·学习·算法·leetcode
leoufung16 小时前
LeetCode 162:寻找峰值的二分搜索思想与区间不变式分析
算法·leetcode·职场和发展
Non importa16 小时前
用滑动窗口代替暴力枚举:算法新手的第二道砍
java·数据结构·c++·学习·算法·leetcode·哈希算法