Leetcode 303. 区域和检索 - 数组不可变(DAY 25) ---- 动态规划学习期
发布日期:2021-06-30 22:24:31 浏览次数:3 分类:技术文章

本文共 1544 字,大约阅读时间需要 5 分钟。

原题题目

在这里插入图片描述



代码实现(首刷自解 暴力解法)

typedef struct {
int size; int* arr;} NumArray;NumArray* numArrayCreate(int* nums, int numsSize) {
NumArray* obj = (NumArray*)malloc(sizeof(NumArray)); obj->size = numsSize; obj->arr = (int*)malloc(sizeof(int) * numsSize); memcpy(obj->arr,nums,sizeof(int) * numsSize); return obj;}int numArraySumRange(NumArray* obj, int i, int j) {
int temp,count = 0; for(temp = i;temp <= j;temp++) count+=obj->arr[temp]; return count;}void numArrayFree(NumArray* obj) {
free(obj);}/** * Your NumArray struct will be instantiated and called as such: * NumArray* obj = numArrayCreate(nums, numsSize); * int param_1 = numArraySumRange(obj, i, j); * numArrayFree(obj);*/


代码实现(首刷自解 改进版)

typedef struct {
int size; int* arr;} NumArray;NumArray* numArrayCreate(int* nums, int numsSize) {
NumArray* obj = (NumArray*)malloc(sizeof(NumArray)); obj->size = numsSize; obj->arr = (int*)malloc(sizeof(int) * numsSize); int i; for(i=0;i
arr[i] = nums[i]; else obj->arr[i] = obj->arr[i-1]+nums[i]; } return obj;}int numArraySumRange(NumArray* obj, int i, int j) {
int temp,count = 0; if(i) count = obj->arr[j] - obj->arr[i-1]; else count = obj->arr[j]; return count;}void numArrayFree(NumArray* obj) {
free(obj);}/** * Your NumArray struct will be instantiated and called as such: * NumArray* obj = numArrayCreate(nums, numsSize); * int param_1 = numArraySumRange(obj, i, j); * numArrayFree(obj);*/

转载地址:https://love6.blog.csdn.net/article/details/112795468 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Leetcode 剑指 Offer 42. 连续子数组的最大和(DAY 25)---- 动态规划学习期
下一篇:Leetcode 1025. 除数博弈(DAY 25)---- 动态规划学习期

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年04月07日 17时53分02秒