每周一道算法题(二十七)

作者: CrazySteven | 来源:发表于2017-09-24 18:44 被阅读530次

本周题目难度级别‘Medium’

题目:给你一个升序的数组和一个数target,让你返回target在这个数组中的区间,若是没有则返回[-1,-1]

思路:这个没啥好说的,就是遍历找target的区间,直接看代码吧,根据代码注释很好理解:

/**
 * Return an array of size *returnSize.
 * Note: The returned array must be malloced, assume caller calls free().
 */
int* searchRange(int* nums, int numsSize, int target, int* returnSize) {
    //开辟空间
    int *result = malloc(sizeof(int) * numsSize);
    //新数组的下标
    int index = 0;
    //遍历数组,找出target的位置
    for (int i = 0; i < numsSize; i++) {
        if (nums[i] == target) {
            result[index] = i;
            index++;
        //因为是升序的数组,所以当大于target的时候就可以停止遍历了
        }else if(nums[i] > target) break;
    }
    //根据上面的注释要求,returnSize是返回数组的长度,都是2,写死就行
    *returnSize = 2;
    //如果没找到返回【-1,-1】
    if (index == 0) {
        result[0] = -1;
        result[1] = -1;
        return result; 
    //如果只有一个,区间是自己本身
    }else if(index == 1){
        result[1] = result[0];
        return result;
    }else {
    //返回区间
        result[1] = result[--index];
        return result;
    }
}

效率一般,其实也可以从中间开始找,毕竟是升序的数组,有兴趣的小伙伴可以自己尝试一下。。。

版权声明:本文为 Crazy Steven 原创出品,欢迎转载,转载时请注明出处!

相关文章

  • ARTS第三周(2018-12-16)

    1.Algorithm:每周至少做一个 leetcode 的算法题 第一道算法题:https://leetcode...

  • ARTS(09)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

  • ARTS(05)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

  • ARTS(07)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

  • ARTS(10)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

  • ARTS(02)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

  • ARTS(03)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

  • ARTS(08)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

  • ARTS(06)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

  • ARTS(04)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

网友评论

    本文标题:每周一道算法题(二十七)

    本文链接:https://www.haomeiwen.com/subject/gpflextx.html