首页 > 其他分享 >4.区间最大和

4.区间最大和

时间:2024-04-01 20:00:46浏览次数:14  
标签:输出 最大 max sum 整数 current 区间


问题描述
给定一个序列 a[1],a[2],...,an] 和一个整数 k,请找出-个长度正好为的区间,使得区间中所有数的和最大
即要找到一个整数p,使得1<p且p+k-1n,使得ap+ap+1+·.·+ap+k-1] 最大
输入格式
输入的第一行包含两个整数n,k。
第二行包含n个整数,相邻的整数之间使用一个空格分隔表示给定的序列
输出格式
输出一行包含一个整数,表示最大的区间和,你只需要输出和就行,不需要输出方案

import os
import sys

# 请在此输入您的代码
n,k=map(int,input().split())
a=list(map(int,input().split()))

current_sum=max_sum=sum(a[:k]) #开始三个的和

for i in range(k,n):
  current_sum=current_sum+a[i]-a[i-k] #窗口右移,加上a[i],减去现窗口第一个
  max_sum=max(max_sum,current_sum)


print(max_sum)

标签:输出,最大,max,sum,整数,current,区间
From: https://blog.csdn.net/weixin_72050316/article/details/137244787

相关文章

  • 215. 数组中的第K个最大元素(中等)
    核心思想手写堆构建一个大顶堆,删除k-1个堆顶元素。为什么是size/2-1?考虑最后一个元素的下标size-1那么父节点为(size-1)/2classSolution{publicintfindKthLargest(int[]nums,intk){intsize=nums.length;buildHeap(nums,siz......
  • 2580. 统计将重叠区间合并成组的方案数(中等)
    核心思想先按第一个元素排序,原区间重合的合并为一个,计算合并完后的区间个数。每个区间都有2个选择,res不断乘2。classSolution{publicintcountWays(int[][]ranges){longres=1;finalintMOD=(int)(1e9+7);Arrays.sort(ranges,(......
  • 239. 滑动窗口最大值(困难)
    核心思想主要包含两个动作nums[i]进和nums[i-k]出新元素进入窗口旧元素移出窗口最大值是谁这个区间各个元素都有可能所以用一个set记录窗口的值,自定义排序从大到小,每次拿第一个就是最大值同时用map记录数字出现次数,为0则移出set。代码classSolution{publicin......
  • 13天【代码随想录算法训练营34期】 第五章 栈与队列part03(● 239. 滑动窗口最大值 ●
    239.滑动窗口最大值单调队列:单调递减,一个queue,最大值在queue口,队列中只维护有可能为最大值的数字比如说1,3,2,4;当slidingwindow已经到3时,就可以把1pop出去了,因为有了3,1不可能为最大值,同理到4的时候,3、2都可以pop出去classMyQueue:def__init__(self):self.queue......
  • 从 String.prototype.substring 的区间开始
    因为使用String.prototype.substring(start,end)或者Array.prototype.slice(start,end)的时候偶尔会想不起来这些函数的区间代表的是什么。在这里记录一下。不同函数的差异这些区间都是[start,end),即是包括start,但是不包括end(当没有传入end时,end视为数组或者字符串......
  • 求最大公约数的方法---pta---N个数求和
    公约数,简单来讲,可以被两个数都整除的一个数。最大公约数,就是两个数的所有公约数中最大的那一个。求得方法有很多,比如://枚举法inta,b,t;cin>>a>>b;for(inti=1;i<=min(a,b);i++){if(a%i==0&&b%i==0){t=i;}}cout<<t;//辗转相除法:inta,b,t;cin>>a>>b;......
  • 【前端面试3+1】07vue2和vue3的区别、vue3响应原理及为什么使用proxy、vue的生命周期
    一、vue2和vue3的区别1.性能优化:        Vue3在性能方面有很大的提升,主要是通过虚拟DOM的优化和响应式系统的改进实现的。虚拟DOM重构:Vue3中对虚拟DOM进行了重构,使得更新算法更加高效,减少了更新时的开销,提升了性能。静态树提升:Vue3可以通过静态树提升技术......
  • 代码随想录算法训练营第34天| 1005. K 次取反后最大化的数组和、134. 加油站、135. 分
    1005.K次取反后最大化的数组和题目链接:K次取反后最大化的数组和题目描述:给你一个整数数组nums和一个整数k,按以下方法修改该数组:选择某个下标i并将nums[i]替换为nums[i]。重复这个过程恰好k次。可以多次选择同一个下标i。以这种方式修改数组后,返回数......
  • 代码随想录算法训练营第36天| 435. 无重叠区间、763.划分字母区间、56. 合并区间
    435.无重叠区间题目链接:无重叠区间题目描述:给定一个区间的集合intervals,其中intervals[i]=[starti,endi]。返回需要移除区间的最小数量,使剩余区间互不重叠。解题思想:这道题目和射气球很像。*“需要移除区间的最小数量,使剩余区间互不重叠”*等效于求重叠区......
  • PTA R7-5 找最大的字符串
    R7-5找最大的字符串分数10入门全屏浏览切换布局作者 王秀单位 福州大学输入5个字符串,输出其中最大的字符串。输出格式:printf("Maxis:%s\n",);输入输出示例:括号内为说明,无需输入输出输入样例:peachpearmelonorangeberry输出样例:Maxis:pear #i......