1588. 所有奇数长度子数组的和

1588. 所有奇数长度子数组的和

给你一个正整数数组 arr ,请你计算所有可能的奇数长度子数组的和。

子数组 定义为原数组中的一个连续子序列。

请你返回 arr 中 所有奇数长度子数组的和 。

  • 示例 1:

输入:arr = [1,4,2,5,3]
输出:58
解释:所有奇数长度子数组和它们的和为:
[1] = 1
[4] = 4
[2] = 2
[5] = 5
[3] = 3
[1,4,2] = 7
[4,2,5] = 11
[2,5,3] = 10
[1,4,2,5,3] = 15
我们将所有值求和得到 1 + 4 + 2 + 5 + 3 + 7 + 11 + 10 + 15 = 58

  • 示例 2:

输入:arr = [1,2]
输出:3
解释:总共只有 2 个长度为奇数的子数组,[1] 和 [2]。它们的和为 3 。

  • 示例 3:

输入:arr = [10,11,12]
输出:66

提示:

  • 1 <= arr.length <= 100
  • 1 <= arr[i] <= 1000

解题思路

维护一个前缀和,然后遍历所有奇数长度的子数组,统计出总和

代码

class Solution {public int sumOddLengthSubarrays(int[] arr) {int n=arr.length;int[] dp=new int[n+1];dp[0]=0;for(int i=1;i<=n;i++)dp[i]=dp[i-1]+arr[i-1];int res=0;for(int len=1;len<=n;len+=2){for(int i=len;i<=n;i++)res+=dp[i]-dp[i-len];}return res;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/390193.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

洛谷P3195 [HNOI2008]玩具装箱TOY(单调队列优化DP)

题目描述 P教授要去看奥运&#xff0c;但是他舍不下他的玩具&#xff0c;于是他决定把所有的玩具运到北京。他使用自己的压缩器进行压缩&#xff0c;其可以将任意物品变成一堆&#xff0c;再放到一种特殊的一维容器中。P教授有编号为1...N的N件玩具&#xff0c;第i件玩具经过压…

680. 验证回文字符串 Ⅱ

680. 验证回文字符串 Ⅱ 给定一个非空字符串 s&#xff0c;最多删除一个字符。判断是否能成为回文字符串。 示例 1: 输入: s “aba” 输出: true 示例 2: 输入: s “abca” 输出: true 解释: 你可以删除c字符。 示例 3: 输入: s “abc” 输出: false 解题思路 使用…

Android--RxJava2更新体验

截止日前最新版2017-3-15: RxJava compile ‘io.reactivex:rxjava:1.2.7’ compile ‘io.reactivex:rxandroid:1.2.1’ RxJava2 compile “io.reactivex.rxjava2:rxjava:2.0.7” compile “io.reactivex.rxjava2:rxandroid:2.0.1” 1:create操作改变 Rxjava CompositeSubscri…

kotlin和java语言_Kotlin VS Java – 2020年您应该学习哪种编程语言?

kotlin和java语言It has been several years since Kotlin came out, and it has been doing well. Since it was created specifically to replace Java, Kotlin has naturally been compared with Java in many respects.自Kotlin问世以来已经有好几年了&#xff0c;而且一切…

oracle部署--安装oracle软件与部署单实例数据库

一、安装oracle数据库软件 1.创建相应的用户组及用户 groupadd oinstall groupadd oper groupadd dba useradd -g oinstall -G oper,dba oracle 2.创建oracle software安装路径 mkdir -p /u01/app/oracle/product/11.2.0/db_1 3.修改安装路径权限 chown -R oracle:oinstall …

web前端【第十一篇】jQuery属性相关操作

知识点总结 1、属性 属性&#xff08;如果你的选择器选出了多个对象&#xff0c;那么默认只会返回出第一个属性&#xff09;、 attr(属性名|属性值) - 一个参数是获取属性的值&#xff0c;两个参数是设置属性值 - 点击加载图片示例 re…

528. 按权重随机选择

528. 按权重随机选择 给定一个正整数数组 w &#xff0c;其中 w[i] 代表下标 i 的权重&#xff08;下标从 0 开始&#xff09;&#xff0c;请写一个函数 pickIndex &#xff0c;它可以随机地获取下标 i&#xff0c;选取下标 i 的概率与 w[i] 成正比。 例如&#xff0c;对于 w…

sql语句语法多表关联_SQL创建表语句-带有示例语法

sql语句语法多表关联SQL is one of the most reliable and straightforward querying languages around. It provides clear cut syntax that reads easily without abstracting away too much of the functionalitys meaning.SQL是最可靠&#xff0c;最直接的查询语言之一。 它…

分布式改造剧集三:Ehcache分布式改造

第三集&#xff1a;分布式Ehcache缓存改造 前言 ​ 好久没有写博客了&#xff0c;大有半途而废的趋势。忙不是借口&#xff0c;这个好习惯还是要继续坚持。前面我承诺的第一期的DIY分布式&#xff0c;是时候上终篇了---DIY分布式缓存。 探索之路 ​ 在前面的文章中&#xff0c;…

85. 最大矩形

85. 最大矩形 给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵&#xff0c;找出只包含 1 的最大矩形&#xff0c;并返回其面积。 示例 1&#xff1a; 输入&#xff1a;matrix [[“1”,“0”,“1”,“0”,“0”],[“1”,“0”,“1”,“1”,“1”],[“1”,“1”…

TP单字母函数

A方法 A方法用于在内部实例化控制器 调用格式&#xff1a;A(‘[项目://][分组/]模块’,’控制器层名称’) 最简单的用法&#xff1a; $User A(User); 表示实例化当前项目的UserAction控制器&#xff08;这个控制器对应的文件位于Lib/Action/UserAction.class.php&#xff09;…

Angular问题03 @angular/material版本问题

1 问题描述 应用使用 angular4在使用angular/material时&#xff0c;若果在导入模块时使用mat开头&#xff0c;就会报错。 2 问题原因 angular/material版本出现问题&#xff0c;angular/material 从版本5开始就必须要angular5的核心依赖&#xff1b;想要在angular5之前版本中的…

onclick判断组件调用_从子组件Onclick更新状态

onclick判断组件调用How to update the state of a parent component from a child component is one of the most commonly asked React questions.如何从子组件更新父组件的状态是最常见的React问题之一。 Imagine youre trying to write a simple recipe box application, …

Python 列表List的定义及操作

# 列表概念&#xff1a;有序的可变的元素集合# 定义 # 直接定义 nums [1,2,3,4,5]# 通过range函数构造&#xff0c;python2 和python3 版本之间的差异&#xff1b; # python3 用的时候才会去构造 nums range(1,101)# 列表嵌套 # 注意和C语言中数组的区别,是否可…

递归分解因数

题目总时间限制: 1000ms 内存限制: 65536kB描述给出一个正整数a&#xff0c;要求分解成若干个正整数的乘积&#xff0c;即a a1 * a2 * a3 * ... * an&#xff0c;并且1 < a1 < a2 < a3 < ... < an&#xff0c;问这样的分解的种数有多少。注意到a a也是一种分解…

剑指 Offer 51. 数组中的逆序对

剑指 Offer 51. 数组中的逆序对 在数组中的两个数字&#xff0c;如果前面一个数字大于后面的数字&#xff0c;则这两个数字组成一个逆序对。输入一个数组&#xff0c;求出这个数组中的逆序对的总数。 示例 1: 输入: [7,5,6,4] 输出: 5 限制&#xff1a; 0 < 数组长度 &…

react 图像识别_无法在React中基于URL查找图像

react 图像识别If youre new to React and are having trouble accessing images stored locally, youre not alone.如果您不熟悉React&#xff0c;并且无法访问本地存储的图像&#xff0c;那么您并不孤单。 Imagine you have your images stored in a directory next to a co…

html单行元素居中显示,多行元素居左显示

有很多的业务需要元素或者文字如果单行&#xff0c;居中显示&#xff0c;如果数据增多&#xff0c;居中显示代码&#xff08;直接复制到编辑器可用&#xff09;&#xff1a;<!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8&q…

ML.NET 0.2版增加了集群和新示例

在今年的Build大会上&#xff0c;微软首次发布了ML.NET。ML.NET是开源的、跨平台的以及运行在.NET上的机器学习框架。微软的Ankit Asthana宣布该项目已经完成了第二版的开发。第二版增加了几个新功能&#xff0c;包括名为集群的新机器学习任务&#xff0c;交叉验证和训练-测试&…

如何变得井井有条-来之不易的秘诀来组织您的生活

Because of the changes brought about by COVID-19, many people have had to find healthy and productive ways of working remotely. 由于COVID-19带来的变化&#xff0c;许多人不得不寻找健康有效的远程工作方式。 Some have been sent home and can continue doing thei…