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

哪家做网站的好网址大全123上网导航网址

哪家做网站的好,网址大全123上网导航网址,搜狐焦点石家庄房产网,建设银行网站用户名是什么意思LeetCode每日一题 2735.收集巧克力 2735. 收集巧克力 - 力扣#xff08;LeetCode#xff09; 介绍 看题目看不懂#xff0c;在评论区看到一个大哥解释#xff0c;瞬间明白了。 一张桌子上有n件商品围成一圈#xff0c;每件都有一个价签#xff0c;它们构成数组nums。…LeetCode每日一题 2735.收集巧克力 2735. 收集巧克力 - 力扣LeetCode 介绍 看题目看不懂在评论区看到一个大哥解释瞬间明白了。 一张桌子上有n件商品围成一圈每件都有一个价签它们构成数组nums。除了按照价签上的价格买东西之外你还可以花x块钱把桌子转一下把每件商品都对应到下一个价签问把每种商品买一遍最少花多少钱 给你一个长度为 n 、下标从 0 开始的整数数组 nums 表示收集不同巧克力的成本。每个巧克力都对应一个不同的类型最初位于下标 i 的巧克力就对应第 i 个类型。 在一步操作中你可以用成本 x 执行下述行为 同时修改所有巧克力的类型将巧克力的类型 ith 修改为类型 ((i 1) mod n)th。 假设你可以执行任意次操作请返回收集所有类型巧克力所需的最小成本。 示例 1 输入nums [20,1,15], x 5 输出13 解释最开始巧克力的类型分别是 [0,1,2] 。我们可以用成本 1 购买第 1 个类型的巧克力。 接着我们用成本 5 执行一次操作巧克力的类型变更为 [1,2,0] 。我们可以用成本 1 购买第 2 个类型的巧克力。 然后我们用成本 5 执行一次操作巧克力的类型变更为 [2,0,1] 。我们可以用成本 1 购买第 0 个类型的巧克力。 因此收集所有类型的巧克力需要的总成本是 (1 5 1 5 1) 13 。可以证明这是一种最优方案。示例 2 输入nums [1,2,3], x 4 输出6 解释我们将会按最初的成本收集全部三个类型的巧克力而不需执行任何操作。因此收集所有类型的巧克力需要的总成本是 1 2 3 6 。提示 1 nums.length 10001 nums[i] 1091 x 109 思路 LeetCode看的思路自己没啥思路还是说自己算法太垃圾还需多练 nums数组表示购买对应索引类型的巧克力所需要的代价可以通过每次以代价x来改变平移nums数组的分布。 由于nums数组的长度为n那么进行n次平移操作之后进入循环。因此有意义的平移操作最多为n-1次。 那么可以使用一个数组costNums来记录每个类型的巧克力在{0,1,2, …, n-1}次操作过程中购买所需的最小值。在k次操作完成后将costNums累加并加上k*x得到操作k次完成购买所需的总代价。 最后在{0,1,2,…,n-1}次操作中选择具有最小代价的那次操作。 代码 C class Solution { public:long long minCost(vectorint nums, int x) {int n nums.size();vectorint costNums(nums); // 初始操作 0 次的成本long long totalCost accumulate(costNums.begin(), costNums.end(), 0LL); // 初始总成本// enumerate 0 to n-1 times operationfor (int k1; kn; k){// 根据当前操作更新 costNums 数组for (int i0; in; i) {costNums[i] min(costNums[i], nums[(ik)%n]);}// 计算当前操作的总成本并与之前的总成本进行比较保留最小的totalCost min(totalCost, accumulate(costNums.begin(), costNums.end(), 0LL) static_castlong long(k)*x);}return totalCost;} };Java class Solution {public long minCost(int[] nums, int x) {int n nums.length;int[] costNums Arrays.copyOf(nums, n); // 初始操作 0 次的成本long totalCost Arrays.stream(costNums).asLongStream().sum(); // 初始总成本for (int k 1; k n; k) {// 根据当前操作更新 costNums 数组for (int i 0; i n; i) {costNums[i] Math.min(costNums[i], nums[(i k) % n]);}// 计算当前操作的总成本long currentCost Arrays.stream(costNums).asLongStream().sum() (long) k * x;// 如果当前成本更小更新总成本totalCost Math.min(totalCost, currentCost);}return totalCost;} }
http://www.hkea.cn/news/14563663/

相关文章:

  • 网站制作常见的问题网站建设中html网页
  • 如何申请域名网站注册网站建设合同交印花税
  • 宿迁网站seo找人做网站推广
  • 电子商务网站建设学什么软件新乡seo公司
  • 专业柳州网站建设价格新闻最新消息今天
  • 用群晖做网站服务器建设银行网站怎么登陆不了
  • 建设门户网站需要多少钱南阳做个网站多少钱
  • 做网站服务器价格多少合适室内设计小白怎么入行
  • 模板网站做外贸可以吗wordpress服务
  • 地方房产网站APP如何做ps做网站首页规范尺寸
  • 做水果网站用什么域名中建八局一公司总部在哪
  • 人力资源公司网站模板如何建设废品网站
  • 桥 网站建设wordpress中文版和英文版
  • 网站备案多个域名备案单上填几个优秀的app界面设计案例
  • 中建西部建设广通讯网站pc网站的优势
  • 动态设计网站图书网站建设方案
  • 盐城国有资源土地建设交易网站廉政建设网站
  • 飘仙建站论坛线下推广渠道和方式
  • 企业展示型网站源码五河网站建设哪家好
  • 搜图片找原图关键词优化公司电话
  • 影楼手机网站wordpress 指定分类
  • 滨州网站建设开发公司江苏网站建设费用
  • 中国建设银行官方网站沈阳wordpress简约博客
  • 如何看网站关键词荆门网站开发有哪些
  • 做平面设计买哪个素材网站会员美食网页设计素材图片
  • 这么建设新的网站想建立什么网站
  • 敦化网站建设打造专业团队
  • 网站pv多少可以网站建设要些什么
  • 茶叶手机网站湛江网站建设公司哪个好
  • 做一个销售网站需要多少钱wordpress打字烟花