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

茶叶公司网站建设策划书2345影视大全最新版2021下载安装

茶叶公司网站建设策划书,2345影视大全最新版2021下载安装,建盏哪家好,注册公司有什么好处Every day a Leetcode 题目来源#xff1a;1423. 可获得的最大点数 解法1#xff1a;前缀和 后缀和 基于贪心的思想#xff0c;要使得获得的点数最大#xff0c;每次拿卡牌都应该选点数尽量高的卡牌。 但是拿卡牌有限制#xff0c;每次行动#xff0c;只可以从行的…Every day a Leetcode 题目来源1423. 可获得的最大点数 解法1前缀和 后缀和 基于贪心的思想要使得获得的点数最大每次拿卡牌都应该选点数尽量高的卡牌。 但是拿卡牌有限制每次行动只可以从行的开头或者末尾拿一张卡牌最终必须正好拿 k 张卡牌。 设数组 cardPoints 的长度为 n。分别求出它的前缀和数组 prevSum 和后缀和数组 suffixSum设我们从行的开头拿 i0ik 张卡牌那么我们只能从行的末尾拿 k-i 张卡牌设最大点数之和为 max_sum则有 for (int i 0; i k; i)max_sum max(max_sum, prevSum[i] suffixSum[n - (k - i)]);也可以将数组 suffixSum 反转有 reverse(suffixSum.begin(), suffixSum.end()); for (int i 0; i k; i)max_sum max(max_sum, prevSum[i] suffixSum[k - i]);代码 /** lc appleetcode.cn id1423 langcpp** [1423] 可获得的最大点数*/// lc codestart class Solution { public:int maxScore(vectorint cardPoints, int k){if (k 0)return 0;if (k cardPoints.size())return accumulate(cardPoints.begin(), cardPoints.end(), 0);int n cardPoints.size();vectorint prevSum(n 1, 0), suffixSum(n 1, 0);for (int i 1; i n; i)prevSum[i] prevSum[i - 1] cardPoints[i - 1];for (int i n - 1; i 0; i--)suffixSum[i] suffixSum[i 1] cardPoints[i];// reverse(suffixSum.begin(), suffixSum.end());int max_sum 0;for (int i 0; i k; i){max_sum max(max_sum, prevSum[i] suffixSum[n - (k - i)]);}return max_sum;} }; // lc codeend结果 复杂度分析 时间复杂度O(nk)其中 n 是数组 cardPoints 的长度。 空间复杂度O(n)其中 n 是数组 cardPoints 的长度。主要是 prevSum 和 suffixSum 的开销各使用了 n1 的空间。 解法2滑动窗口 记数组 cardPoints 的长度为 n由于只能从开头和末尾拿 k 张卡牌所以最后剩下的必然是连续的 n−k 张卡牌。 逆向思维我们可以通过求出剩余卡牌点数之和的最小值来求出拿走卡牌点数之和的最大值。 算法 由于剩余卡牌是连续的使用一个固定长度为 n−k 的滑动窗口对数组 cardPoints 进行遍历求出滑动窗口最小值然后用所有卡牌的点数之和减去该最小值即得到了拿走卡牌点数之和的最大值。 代码 // 滑动窗口class Solution { public:int maxScore(vectorint cardPoints, int k){if (k 0)return 0;if (k cardPoints.size())return accumulate(cardPoints.begin(), cardPoints.end(), 0);int n cardPoints.size();int windowSize n - k;int sum accumulate(cardPoints.begin(), cardPoints.begin() windowSize, 0);int min_sum sum;for (int i windowSize; i n; i){sum cardPoints[i];sum - cardPoints[i - windowSize];min_sum min(min_sum, sum);}return accumulate(cardPoints.begin(), cardPoints.end(), 0) - min_sum;} };结果 复杂度分析 时间复杂度O(n)其中 n 是数组 cardPoints 的长度。 空间复杂度O(1)。
http://mrfarshtey.net/news/68316/

相关文章:

  • 网站做竞价对优化有好处吗龙岗做企业网站
  • 企业网站开发实训目的网站建设一二级目录
  • 上海网站备案人工服务器做短视频网站有流量吗
  • 建立电商网站温州网站优化关键词
  • 哈尔滨餐饮加盟网站建设栾城网站制作
  • 网站设计论坛做网站的数据从哪里来
  • 求职简历在哪个网站做成都网站建设与网站推广培训
  • 众筹网站开发需求海珠区
  • 安徽省住房建设工程信息网站西安市建设和住房保障局网站
  • 长春做网站公司长春seo公司中国建设工程电子信息网
  • 视频网站怎么做WordPress可视化编辑器启动不了
  • 做网站搭建的公司shopwt多用户商城系统
  • 商城网站建设公司排行湘潭做网站推荐磐石网络
  • 引流软件下载站中国商机网官网
  • 网站下拉广告公司查询企业查询 天眼查
  • asp网站抓取百度指数查询
  • 网站接入激励视频广告简单的电商网站开发
  • 云南手机网站制作山东东营市经济怎么样
  • 医疗网站建站需求统计网站建设
  • 江西网站备案流程鼎豪网站建设
  • 做网站看好金石网络网站建设时间、人力及成本估算
  • 学校多语言网站建设中国互联网协会副会长名单
  • 光泽县规划建设局网站哈尔滨城乡建设局网站首页
  • 网站建设收费标准信息wordpress 主题origin
  • 网站运维公司有哪些人才招聘网站开发 源代码
  • 建设淘宝客网站源码怎么弄网站内链越多越好嘛
  • 有那些猎头做单的网站网络营销 网站
  • 宁夏建设工程造价站网站商城网站建设策划
  • 做一个电商网站步骤服装定制公司
  • 学校网站建设开发设计自己的专属logo