《算法零基础100讲》(第57讲) 前缀和(一) 线性前缀和入门
2022/1/3 1:10:27
本文主要是介绍《算法零基础100讲》(第57讲) 前缀和(一) 线性前缀和入门,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
303. 区域和检索 - 数组不可变
给定一个整数数组 nums,求出数组从索引 i 到 j(i ≤ j)范围内元素的总和,包含 i、j 两点。
实现 NumArray 类:NumArray(int[] nums) 使用数组 nums 初始化对象 int sumRange(int i, int j) 返回数组 nums 从索引 i 到 j(i ≤ j)范围内元素的总和,包含 i、j 两点(也就是 sum(nums[i], nums[i + 1], … , nums[j]))
/*给定一个整数数组 nums,求出数组从索引 i 到 j(i ≤ j)范围内元素的总和,包含 i、j 两点*/ class NumArray { private int [] sums; public NumArray(int[] nums) { sums = new int [nums.length]; if(nums.length == 0) { return; } sums[0] = nums[0]; for(int i = 1; i < nums.length; i++) { sums[i] = sums[i - 1] + nums[i]; } } public int sumRange(int left, int right) { if(left == 0) { return sums[right]; }else { return sums[right] - sums[left - 1]; } } }
1732. 找到最高海拔
/* 1.有一个自行车手打算进行一场公路骑行,这条路线总共由 n + 1 个不同海拔的点组成。自行车手从海拔为 0 的点 0 开始骑行。 2.给你一个长度为 n 的整数数组 gain ,其中 gain[i] 是点 i 和点 i + 1 的 净海拔高度差(0 <= i < n)。请你返回 最高点的海拔 。 */ class Solution { public int largestAltitude(int[] gain) { int altitude = 0, min = 0; for(int i : gain) { altitude += i; min = Math.max(altitude, min); } return min; } }
这篇关于《算法零基础100讲》(第57讲) 前缀和(一) 线性前缀和入门的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南