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

辽宁官方网站做辣白菜企业级网站建设

辽宁官方网站做辣白菜,企业级网站建设,2022年最近十大新闻,怎么免费建设网站4步套路#xff0c;解决动态规划问题 1、确定问题状态 提炼最后一步的问题转化 2、转移方程#xff0c;把问题方程化 3、按照实际逻辑设置初始条件和边界情况 4、确定计算顺序并求解 结合实例感受下#xff1a; 你有三种硬币#xff0c;分别面值2元#xff0c;5元和7…4步套路解决动态规划问题 1、确定问题状态 提炼最后一步的问题转化 2、转移方程把问题方程化 3、按照实际逻辑设置初始条件和边界情况 4、确定计算顺序并求解 结合实例感受下 你有三种硬币分别面值2元5元和7元每种硬币都有足够多。买一本书需要27元。如何用最少的硬币组合正好付清不需要对方找钱 关键词“用最小的硬币组合正好付清”——“最小的组合”求最值问题动态规划。 **正常人第一反应思路:**最少硬币组合?优先使用大面值硬币——777526 额可求解目标是27啊……改算法——77722227总共用了6枚硬币正好27元.实际正确答案7555527才用了5枚硬币。所以这里贪心算法是不正确的。 套路用起来 第一步确定问题状态。 动态规划问题求解需要先开一个数组并确定数组的每个元素f[i]代表什么就是确定这个问题的状态。类似于解数学题中设定XYZ代表什么。 A、确定状态首先提取【最后一步】 最优策略必定是K枚硬币a1, a2,…, aK 面值加起来是27。 找出不影响最优策略的最后一个独立角色这道问题中那枚最后的硬币“aK”就是最后一步。把aK提取出来硬币aK之前的所有硬币面值加总是27- aK因为总体求最硬币数量最小策略所以拼出27- aK 的硬币数也一定最少重要设定。 B、**转化子问题。**最后一步aK提出来之后我们只要求出“最少用多少枚硬币可以拼出27- aK”就可以了。 这种与原问题内核一致但是规模变小的问题叫做子问题。 为简化定义我们设状态f(X)最少用多少枚硬币拼出总面值X。我们目前还不知道最后的硬币aK面额多少但它的面额一定只可能是2/5/7之一。如果aK是2f(27)应该是f(27-2) 1 (加上最后这一枚面值2的硬币如果aK是5f(27)应该是f(27-5) 1 (加上最后这一枚面值5的硬币如果aK是7f(27)应该是f(27-7) 1 (加上最后这一枚面值7的硬币除此以外没有其他的可能了。 至此通过找到原问题最后一步并将其转化为子问题。为求面值总额27的最小的硬币组合数的状态就形成了用以下函数表示 f(27) min{f(27-2)1, f(27-5)1, f(27-7)1} 第二步转移方程把问题方程化。 f[X] min{f[X-2]1, f[X-5]1, f[X-7]1}动态规划都是要开数组所以这里改用方括号表示 实际面试中求解动态规划类问题正确列出转移方程正确基本上就解决一半了。 但是请问这与递归有什么不同 递归的解法 // f(X)返回最少用多少枚硬币拼出Xint f(int X) {// 0元钱只要0枚硬币if (X 0) return 0;// 初始化用无穷大为什么是正无穷int res MAX_VALUE;// 最后一枚硬币是2元if (X 2) {res Math.min(f(X – 2) 1, res);}// 最后一枚硬币是5元if (X 5) {res Math.min(f(X – 5) 1, res);}// 最后一枚硬币是7元if (X 7) {res Math.min(f(X – 7) 1, res);}return res;}执行图如下 要算f(27)就要递归f(25)、f(22)、f(20)然后下边依次递归……三角形表示。 问题明显——重复递归太多。 这是求f(27)还可以勉强递归。如果求f(100)呢简直是天文数字。最终结果就是递归超市。 求总体最值一定优先考虑动态规划不要憨憨的去递归。 插入一下~ 需要掌握的动态规划面试解题技巧还包括坐标型、位操型、序列型、博弈型、背包型、双序列以及一些高难面试题解。 本文篇幅有限无法逐一讲清大家来白嫖我的在线分享吧纯干货。 第三步按照实际逻辑设置边界情况和初始条件。 **【必做】**否则即使转移方程正确也大概率无法跑通代码。 f[X] min{f[X-2]1, f[X-5]1, f[X-7]1}的边界情况是[x-2]/[x-5]/[x-7]不能小于0硬币面值为正也不能高于27。 故对边界情况设定如下 如果硬币面值不能组合出Y就定义f[Y]正无穷例如f[-1]f[-2]…正无穷f[1] min{f[-1]1, f[-4]1,f[-6]1}正无穷, **特殊情况**本题的F[0]对应的情况为F[-2]、F[-5]、F[-7]按照上文的边界情况设定结果是正无穷。 但是实际上F[0]的结果是存在的即使用0个硬币的情况下F[0]0。可是按照我们刚刚的设定F[0]F[0-2]1 F[-2]1正无穷。 岂不是矛盾 这种用转移方程无法计算但是又实际存在的情况就必须通过手动定义。 这里手动强制定义初始条件为F[0]0. 而从0之后的数值是没矛盾的比如F[1] F[1-2]1 F[-1]1正无穷正无穷加任何数结果还是正无穷F[2] F[2-2]1 F[0]11…… 第四步确定计算顺序并计算求解 那么开始计算时是从F[1]、F[2]开始呢还是从F[27]、F[26]开始呢 判断计算顺序正确与否的原则是当我们要计算F[X]等式左边如F[10]的时候等式右边f[X-2], f[X-5], f[X-7]等都是已经得到结果的状态这个计算顺序就是OK的。 实际就是从小到大的计算方式偶有例外的情况我们后边再讲。 例如我们算到F[12]的时候发现F[11]、F[10]、F[9]都已经算过了这种算法就是对的而开始算F[27]的时候发现F[26]还没有算这样的顺序就是错的。 很显然这样的情况下写一个FOR循环就够了。 回到这道题采用动态规划的算法每一步只尝试三种硬币一共进行了27步。算法时间复杂度即需要进行的步数为27*3。 与递归相比没有任何重复计算。 **原题练习及实际代码**这道题是lintcode编号669的Coin Change问题。代码如下 public int coinChange(int[] A, int M){// A [2,5,7]// M 27int[] f new int[M 1];int n A.length; // 硬币的种类// 初始化, 0个硬币f[0] 0;// f[1], f[2], ... , f[27] Integer.MAX_VALUEfor (int i 1; i M; i){f[i] Integer.MAX_VALUE;}for (int i 1; i M; i){// 使用第j个硬币 A[j]// f[i] min{f[i-A[0]]1, ... , f[i-A[n-1]]1}for (int j 0; j n; j){// 如果通过放这个硬币能够达到重量iif (i A[j] f[i - A[j]] ! Integer.MAX_VALUE) {// 获得i的重量的硬币数就可能是获得i-A[j]重量硬币数的方案1// 拿这个方案数量与原本的方案数打擂台取最小值就行f[i] Math.min(f[i - A[j]] 1, f[i]);}}}if (f[M] Integer.MAX_VALUE){return -1;}return f[M];}最后总结 1、这是求最值问题用动态规划方式求解。2、进入求解过程先确定问题状态 提炼最后一步 最优策略中使用的最后一枚硬币aK -子问题转化 最少的硬币拼出更小的面值27-aK 3、构建转移方程 f[X] min{f[X-2]1, f[X-5]1, f[X-7]1} 求min是因为题目要求求最小 4、设置初始条件和边界情况 f[0] 0, 如果不能拼出Yf[Y]正无穷 5、确定计算顺序并计算求解 f[0], f[1], f[2]…… 实际上按照以上4步套路基本上可以应对绝对大多数的动态规划面试题。 总结 在这里由于面试中MySQL问的比较多因此也就在此以MySQL为例为大家总结分享。但是你要学习的往往不止这一点还有一些主流框架的使用Spring源码的学习Mybatis源码的学习等等都是需要掌握的我也把这些知识点都整理起来了有需要的朋友可以**【转发关注】后点击这里免费领取** 等都是需要掌握的我也把这些知识点都整理起来了有需要的朋友可以**【转发关注】后点击这里免费领取** [外链图片转存中…(img-OtYDajkq-1625571563748)]
http://www.zqtcl.cn/news/551101/

相关文章:

  • 网站建设基础培训网站架构拓扑图
  • 网站开发价格预算成都必去的地方排行榜
  • 鹤岗做网站企业建立网站主要包括那些流程
  • 如何进网站出口外贸是做什么的
  • 网站制作北京网站建设公司哪家好一个人 建设网站
  • 百度网站是什么阿里云免费网站建设
  • 网站建设平台源码攻击网站步骤
  • 注册了网站之后怎么设计深圳开发app
  • 国外网站搭建平台移动互联网公司
  • 做网络私活的网站网站开发的人
  • 数据分析网站开发四川手机网站设计方案
  • 什么是网络营销的方法莱州网站建设关键字排名优化网络托管微信代运营
  • 雅虎网站收录提交入口怎么看网站谁做的
  • 青浦专业做网站免费网站软件大全
  • joomla 网站图标六安市城市建设档案馆网站
  • 郑州 公司网站制作win10 wordpress安装
  • html5网站有哪些网站建设部分费用会计科目
  • 网站域名备案 更改吗深圳新站优化
  • 房产网站门户系统免费网站免费无遮挡
  • 用国外网站 图片做自媒体seo诊断a5
  • 广州市南沙建设局网站优改网logo设计
  • 网站建设亿玛酷知名公司网站首页如何做
  • 教育网站 php网络服务公司
  • net域名做网站怎么样建站公司 转型经验
  • 赣州网站建设哪家公司好上海市建设安全协会网站
  • 网站排名优化软件有哪些西宁网站建设官网
  • 支付宝手机网站签约迪庆公司网站开发方法
  • 唐山网站关键词优化网站开发公司推荐
  • 福建响应式网站制作市工商局网站建设情况
  • 深圳网站运营托管罗伯特清崎说的网络营销是什么