当前位置: 首页 > news >正文

淘宝网站怎么做的北京seo百度推广

淘宝网站怎么做的,北京seo百度推广,网站制作常见问题,河南省国基建设集团有限公司网站文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【题目进阶】八【解题思路】九【时间频度】十【代码实现】十一【提交结果】 一【题目类别】 前缀和 二【题目难度】 简单 三【题目编号】 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

七【题目进阶】

  • 你可以设计一个 O ( n ) O(n) O(n) 时间复杂度的算法解决此问题吗?

八【解题思路】

  • 该题很容易想到的思路就是暴力模拟,这个方式确实很简单,不过复杂度太高
  • 所以使用前缀和方法来解决该问题可以降低时间复杂度
    • 计算前缀和数组,前缀和数组的每一位表示从原数组的开始到每一位的累加和
    • 然后使用简单的数学运算找到所有奇数长度子数组
    • 最后使用前缀和数组对找到的所有奇数长度子数组求和
  • 最后返回结果即可
  • 具体细节可以参考下面的代码

九【时间频度】

  • 时间复杂度: O ( n 2 ) O(n^2) O(n2) n n n为传入的数组的长度
  • 空间复杂度: O ( n ) O(n) O(n) n n n为传入的数组的长度

十【代码实现】

  1. Java语言版
class Solution {public int sumOddLengthSubarrays(int[] arr) {// 计算前缀和数组,prefixSum[i]表示数组arr从索引0到i的累加和int[] prefixSum = new int[arr.length];prefixSum[0] = 0;for (int i = 1; i < arr.length; i++){prefixSum[i] = prefixSum[i - 1] + arr[i];}// 保存结果int sum = 0;// 计算所有奇数长度子数组的和for (int start = 0; start < arr.length; start++){// 计算奇数长度子数组区间的和for (int length = 1; start + length <= arr.length; length += 2){// 计算奇数长度子数组的末尾索引int end = start + length - 1;// 根据前缀和数组计算奇数长度子数组的和sum += prefixSum[end] - prefixSum[start] + arr[start];}}// 返回结果return sum;}
}
  1. Python语言版
class Solution:def sumOddLengthSubarrays(self, arr: List[int]) -> int:# 计算前缀和数组,prefixSum[i]表示数组arr从索引0到i的累加和prefix_sum = [0] * len(arr)prefix_sum[0] = 0for i in range(1, len(arr)):prefix_sum[i] = prefix_sum[i - 1] + arr[i]# 保存结果res = 0# 计算所有奇数长度子数组的和for start in range(0, len(arr)):# 计算奇数长度子数组区间的和for length in range(1, len(arr) - start + 1, 2):# 计算奇数长度子数组的末尾索引end = start + length - 1# 根据前缀和数组计算奇数长度子数组的和res += prefix_sum[end] - prefix_sum[start] + arr[start]# 返回结果return res
  1. C语言版
int sumOddLengthSubarrays(int* arr, int arrSize) 
{// 计算前缀和数组,prefixSum[i]表示数组arr从索引0到i的累加和int* prefixSum = (int*)malloc(sizeof(int) * arrSize);prefixSum[0] = arr[0];for (int i = 1; i < arrSize; i++){prefixSum[i] = prefixSum[i - 1] + arr[i];}// 保存结果int sum = 0;// 计算所有奇数长度子数组的和for (int start = 0; start < arrSize; start++){// 计算奇数长度子数组区间的和for (int length = 1; start + length <= arrSize; length += 2){// 计算奇数长度子数组的末尾索引int end = start + length - 1;// 根据前缀和数组计算奇数长度子数组的和sum += prefixSum[end] - prefixSum[start] + arr[start];}}// 返回结果return sum;
}

十一【提交结果】

  1. Java语言版
    在这里插入图片描述

  2. Python语言版
    在这里插入图片描述

  3. C语言版
    在这里插入图片描述

http://www.zhongyajixie.com/news/14042.html

相关文章:

  • 帮我们公司做网站手机网络优化
  • 出版社类网站模板免费的外贸b2b网站
  • 简述网站建设市场调研方案范文
  • 无锡做网站费用磁力猫torrent kitty
  • 平面设计有什么网站seo必备软件
  • 云南专业做网站多少钱网站开发北京公司
  • 沈阳便宜做网站的我是站长网
  • 盘锦建设工程信息网站怎么推广软件让别人下载
  • 深圳做棋牌网站建设哪家公司收费合理企业网站建站
  • 优秀网站建设空间淘宝排名查询工具
  • 做网站需要什么 图片视频厦门网站快速排名优化
  • 句容本地网站北京网站搭建哪家好
  • 个人建一个网站多少钱seo优化排名公司
  • 如何做adsense网站国际最新新闻
  • 校友会网站建设方案seo营销名词解释
  • 欧洲vodafonewifi巨大仙踪林seo网站推广杭州
  • 制作动态网站优化搜索点击次数的方法
  • wordpress如何导入数据库湛江百度seo公司
  • 做网站傻瓜软件昆明抖音推广
  • 怎样做买东西的网站如何优化推广中的关键词
  • 广德县住房和城乡建设网站东莞海外网络推广
  • 毕业设计选择做网站的意义百度推广营销方案
  • 郑州做网站公司有多少钱建立网站需要什么条件
  • 南宁市做网站软文广告代理平台
  • php网站开发实用技术答案关键词排名查询工具免费
  • 做擦边球网站赚钱么宁波正规站内优化seo
  • 做网站的如何兼职创建一个网站
  • 手机网站建设服务合同范本seo搜索优化是什么意思
  • 海南省住房建设厅网站黄金网站软件免费
  • 网络规划与设计报告东莞seo建站排名