博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
303. Range Sum Query - Immutable
阅读量:5216 次
发布时间:2019-06-14

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

 动态规划问题,刚开始想直接写个二维数组,然后存下所有sum[i,j],后来发现测试案例有1W,然后RUN TIME ERROR了

 后来发现其实只需要一维数组就可以解决,sum[i]存储i之前所有值的和,求解sum[i,j]=sum[j]-sum[i-1]

  还有就是数组为空时返回0,感觉这个测试案例并没有什么卵用

class NumArray {
public:
int*sum;
NumArray(vector<int> &nums) {
if (nums.size() == 0)
sum = NULL;
else
{
sum = new int[nums.size()];
sum[0] = nums[0];
for (int i = 1; i < nums.size(); ++i)
sum[i] = sum[i - 1] + nums[i];
}
}
int sumRange(int i, int j) {
if (!sum)
return 0;
else if (i == 0)
return sum[j];
else
return sum[j] - sum[i - 1];
}
};

转载于:https://www.cnblogs.com/InitialD/p/7348902.html

你可能感兴趣的文章
MS CRM 2011 创建基于Fetch的报表 -- 进阶版
查看>>
HTTPS那些事(二)SSL证书(转载)
查看>>
zabbix 监控zookeeper
查看>>
trace与代码跟踪服务
查看>>
Fire!
查看>>
博客园是一个不错的学习交流的网站
查看>>
c++ 赋值操作符的返回值
查看>>
洛谷P2777
查看>>
.Net写txt文件-简单的记录执行日志信息代码
查看>>
Ajax
查看>>
SSH超时断开(ClientAliveInterval和ClientAliveCountMax )的使用
查看>>
技术文章的阅读姿势
查看>>
三期_day05_Dao层的准备工作_II
查看>>
React 新 Context API 在前端状态管理的实践
查看>>
POJ 3419 Difference Is Beautiful(RMQ+二分 或者 模拟)
查看>>
Android HTTP实例 发送请求和接收响应
查看>>
重新创建Activity
查看>>
Steps for Oracle Performance Tuning
查看>>
浅谈css的预编译---less语言
查看>>
压力开关
查看>>