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

上海小企业网站建设哪家公司建设网站好

上海小企业网站建设,哪家公司建设网站好,微信公众号视频网站开发,适合个人做的跨境电商几张卡牌 排成一行,每张卡牌都有一个对应的点数。点数由整数数组 cardPoints 给出。每次行动,你可以从行的开头或者末尾拿一张卡牌,最终你必须正好拿 k 张卡牌。你的点数就是你拿到手中的所有卡牌的点数之和。给你一个整数数组 cardPoints 和…

几张卡牌 排成一行,每张卡牌都有一个对应的点数。点数由整数数组 cardPoints 给出。

每次行动,你可以从行的开头或者末尾拿一张卡牌,最终你必须正好拿 k 张卡牌。

你的点数就是你拿到手中的所有卡牌的点数之和。

给你一个整数数组 cardPoints 和整数 k,请你返回可以获得的最大点数。

示例 1:

输入:cardPoints = [1,2,3,4,5,6,1], k = 3
输出:12
解释:第一次行动,不管拿哪张牌,你的点数总是 1 。但是,先拿最右边的卡牌将会最大化你的可获得点数。最优策略是拿右边的三张牌,最终点数为 1 + 6 + 5 = 12 。

示例 2:

输入:cardPoints = [2,2,2], k = 2
输出:4
解释:无论你拿起哪两张卡牌,可获得的点数总是 4 。

示例 3:

输入:cardPoints = [9,7,7,9,7,7,9], k = 7
输出:55
解释:你必须拿起所有卡牌,可以获得的点数为所有卡牌的点数之和。

示例 4:

输入:cardPoints = [1,1000,1], k = 1
输出:1
解释:你无法拿到中间那张卡牌,所以可以获得的最大点数为 1 。 

示例 5:

输入:cardPoints = [1,79,80,1,1,1,200,1], k = 3
输出:202

提示:

  • 1 <= cardPoints.length <= 10^5
  • 1 <= cardPoints[i] <= 10^4
  • 1 <= k <= cardPoints.length
题目解析:

题目的本质是从数组中挑选元素的组合,使组合的和最大。每次挑选的元素必须是开头的元素或结尾的元素。我们逆向思考去统计被挑省下来的元素的和sum最小,整个数组的和total固定,那么用total-sum得到的就是我们想要的答案。

注意:因为是逆向思维,所以我们要统计的子数组的长度为cardPoints.length-k。

解法思路:

逆向思维后,题目就变成了定长滑动窗口求子数组和最小的问题了,还是按照模板进行解题,同时注意我们题目要求的答案是total-sum。

代码:
class Solution {
public:int maxScore(vector<int>& cardPoints, int k) {int ans=0,sum=0,total=0;int left=0,right=0;int n=cardPoints.size();for(auto e:cardPoints){total+=e;}if (n-k == 0) return total;for(;right<n;right++){sum+=cardPoints[right];if(right-left+1<n-k)continue;if(right-left+1>n-k)sum-=cardPoints[left++];ans=max(ans,total-sum);}return ans;}
};

注意:要特判k=n的情况,此时直接返回total就行

解法二:

正向思维,那么所挑选的数的组合就是
前k个

前k-1个+后1个

前k-2个+后2个

........

前1个+后k-1个

后k个

所以我们用前k个数的和初始化ans的值,从 i=1 开始枚举到 i=k,每次切换组合就让sum+=cardPoints[n−i]−cardPoints[k−i]。

然后更新返回最大的ans。

代码:
class Solution {
public:int maxScore(vector<int>& cardPoints, int k) {int s=0;for(int i=0;i<k;i++){s+=cardPoints[i];}int ans=s;for(int i=1;i<=k;i++){s+=cardPoints[cardPoints.size()-i]-cardPoints[k-i];ans=max(s,ans);}return ans;}
};

http://www.dtcms.com/wzjs/381182.html

相关文章:

  • 专业建设网站哪个好seo黑帽有哪些技术
  • 如何判断网站是用什么程序做的淘宝关键词搜索
  • 服务专业的建网站公司电话通州优化公司
  • 模板网站价格表百度账号怎么注册
  • 腾讯云服务器可以做网站网站外包
  • 关于做网站书籍百度网盘下载的文件在哪
  • 做化妆品注册和注册的网站吗工业和信息化部
  • 网络架构配置惠州搜索引擎优化
  • 找项目做区域代理seo的优化流程
  • 威县做网站报价营销手段和营销方式
  • 雪亮工程建设网站界面关键词挖掘工具爱网
  • wordpress打开要卡一下靠谱seo整站优化外包
  • 导航网站策划好消息tvapp电视版
  • 网站合同需要注意什么呢网络营销有什么特点
  • 记事本做网站怎么调整图片间距seo 公司
  • 网站建设可行性研究报告范文灰色关键词排名技术
  • 微信小程序网站建设推广seo营销名词解释
  • 做盗版电影网站赚钱吗特大新闻凌晨刚刚发生
  • 湖南网站建设磐石网络答疑小程序自助搭建平台
  • 中铁建设集团有限公司是央企吗公司排名seo
  • 上虞网络推广江西优化中心
  • 济南市个人网站制作近期国内新闻摘抄
  • 如何增加网站内链建设app下载注册推广平台
  • 提供信息门户网站建设哪家竞价托管专业
  • 建设和谐社区网站站长域名查询工具
  • 山西电商网站开发百度推广竞价排名技巧
  • 宁波的网络营销服务公司seo排名赚
  • 注册小微公司流程及费用aso优化技巧
  • app网站制作要多少费用seo优化视频教程
  • 日本图形设计网站厦门百度关键词优化