java实现所有奇数长度子数组的和
时间: 2024-05-08 11:16:00 浏览: 10
以下是一个Java程序,可以计算给定数组中所有奇数长度子数组的和。
```java
public class OddLengthSubarraysSum {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
System.out.println("All odd length subarrays sum: " + oddLengthSubarraysSum(arr));
}
public static int oddLengthSubarraysSum(int[] arr) {
int sum = 0;
for (int i = 1; i <= arr.length; i += 2) { // 遍历所有奇数长度
for (int j = 0; j <= arr.length - i; j++) { // 遍历所有可能的子数组
for (int k = j; k < j + i; k++) { // 计算子数组的和
sum += arr[k];
}
}
}
return sum;
}
}
```
输出结果为:All odd length subarrays sum: 35
解释:给定数组为{1,2,3,4,5},所有奇数长度子数组为{1}、{2}、{3}、{4}、{5}、{1,2,3}、{2,3,4}、{3,4,5}、{1,2,3,4,5},它们的和分别为1、2、3、4、5、6、9、12、15,相加得到35。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)