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

网站托管费用多少建筑工程人才培训网

网站托管费用多少,建筑工程人才培训网,公司网站备案多少钱,公众号推文模板免费2024.1.19 题目来源我的题解方法一 动态规划方法二 动态规划#xff08;空间优化#xff09; 题目来源 力扣每日一题#xff1b;题序#xff1a;2809 我的题解 题解参考官方题解。 方法一 动态规划 若能找到一个最小的时间t使得数组和小于等于x#xff0c;则最多在一轮… 2024.1.19 题目来源我的题解方法一 动态规划方法二 动态规划空间优化 题目来源 力扣每日一题题序2809 我的题解 题解参考官方题解。 方法一 动态规划 若能找到一个最小的时间t使得数组和小于等于x则最多在一轮遍历n秒中找到否则就找不到。所以观察重置为零的数会按照 nums2的速度增长所以对于所有操作的数我们应该优先操作增长速度慢的数。 如果我们选择多个索引 i 1 , i 2 , … , i k i_1,i_2,…,i_k i1​,i2​,…,ik​那么按照 n u m s 2 [ i 1 ] ≤ n u m s 2 [ i 2 ] ≤ … ≤ n u m s 2 [ i k ] nums_2[i_1]≤nums_2[i_2]≤…≤nums_2[i_k] nums2​[i1​]≤nums2​[i2​]≤…≤nums2​[ik​]的顺序进行设置是最优的。按照 nums2 的大小对所有数值对进行排序非递减顺序。用 dp[j][i] 表示如果对前 j个元素进行 i次操作可以减少的最大总值初始值为零。对于第 j 个元素我们可以选择对其进行操作或者不操作由此可以得到状态转移方程 dp[j][i]max⁡(dp[j−1][i],dp[j−1][i−1] n u m s 2 nums_2 nums2​[j−1]×i n u m s 1 nums_1 nums1​[j−1]) 其中有 1≤i≤j≤n。 最后返回最小的 t使满足 sum( n u m s 1 nums_1 nums1​)sum( n u m s 2 nums_2 nums2​)×t−dp[n][t]≤x如果不存在返回 −1。 时间复杂度O( n 2 n^2 n2) 空间复杂度O( n 2 n^2 n2)。动态规划数组空间 public int minimumTime(ListInteger nums1, ListInteger nums2, int x) {int n nums1.size(), s1 0, s2 0;int[][] dp new int[n 1][n 1];//这里是技巧如何不改变原数组对其进行排序Integer index[]new Integer[nums2.size()];for(int i0;i nums2.size();i){index[i]i;}Arrays.sort(index,(a,b)-nums2.get(a)-nums2.get(b));for (int i 0; i n; i) {int a nums1.get(i), b nums2.get(i);s1 a;s2 b;}for (int j 1; j n; j) {int inindex[j-1];int b nums2.get(in), a nums1.get(in);for (int i j; i 0; --i) {dp[j][i] Math.max(dp[j - 1][i], dp[j - 1][i - 1] i * b a);}}for (int i 0; i n; i) {if (s2 * i s1 - dp[n][i] x) {return i;}}return -1; }方法二 动态规划空间优化 dp[i] 的状态只和 dp[i−1]有关。 所以可以省去第一个维度从而优化空间从 O( n 2 n^2 n2) 优化到 O(n)其中 n 是输入数组的长度。 时间复杂度O( n 2 n^2 n2) 空间复杂度O(n) public int minimumTime(ListInteger nums1, ListInteger nums2, int x) {int n nums1.size(), s1 0, s2 0;int[] dp new int[n 1];Integer index[]new Integer[nums2.size()];for(int i0;i nums2.size();i){index[i]i;}Arrays.sort(index,(a,b)-nums2.get(a)-nums2.get(b));for (int i 0; i n; i) {int a nums1.get(i), b nums2.get(i);s1 a;s2 b;}for (int j 1; j n; j) {int inindex[j-1];int b nums2.get(in), a nums1.get(in);for (int i j; i 0; --i) {dp[i] Math.max(dp[i], dp[i - 1] i * b a);}}for (int i 0; i n; i) {if (s2 * i s1 - dp[i] x) {return i;}}return -1; }注意技巧如何在不改变原数组的情况下对数组进行排序需要额外的序号数组。 有任何问题欢迎评论区交流欢迎评论区提供其它解题思路代码也可以点个赞支持一下作者哈~
http://www.pierceye.com/news/130118/

相关文章:

  • 延安做网站沈阳学网站制作学校
  • 网站添加新闻网站免费正能量软件不良
  • asp c 网站开发互动网门户网站建设
  • 图书馆网站结构怎么做国外超酷设计网站
  • 网站开发软件搭配学室内设计去哪好
  • 南通营销网站制作河南省大型项目建设办公室网站
  • 黄山网站建设怎么做seo快速优化技术
  • 百度有做企业网站吗ppt设计主题怎么设置
  • 网页设计与网站开发pdf网站个人建设
  • ip138禁止查询该域名商务网站建设组成包括网站优化
  • 百度做网站续费费用seo分析工具有哪些
  • 威胁网站检测平台建设郑州seo服务
  • 怎么设立网站赚广告费合肥新站区有做网站的吗
  • 管理系统 网站模板网站建立不安全
  • 模板网站的域名是什么意思百度教育智能小程序
  • 哪里有做配音的兼职网站wordpress菜单图标特效
  • 怎样自创广告网站海南网站建设推广公司哪家好
  • 网站开发团队人员网站建设开票属于什么服务
  • 学做网站初入门教程上海网站建设 觉策动力
  • 丰台建站公司做一个企业网站需要哪些技术
  • 黑色网站模板怎么写app程序
  • 常州建设局网站首页网站开发需求文档模板带er图
  • 网站名称是否已被注册简单的个人主页网站制作
  • 太仓网站开发wordpress留言板
  • 大型营销型网站制作装饰画
  • 移动网站和定制网站个体户 做网站
  • 网站建设的计划书网站源码下载 用户注册
  • 培训网站项目ppt怎么做抖音服务商
  • 做一个网站需要多少钱大概费用wordpress 2017
  • 惠州网页模板建站天河建设网站外包