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

深圳网站设计公司哪家专业wordpress 360加速

深圳网站设计公司哪家专业,wordpress 360加速,重庆建设厂网站,唐山企业网站最典型的回溯算法就是归并排序#xff0c;核心逻辑如下#xff1a; public void sort(int[] nums, int lo, int ho){int mid (lo hi) / 2;//对数组的两部分分别排序sort(nums,lo, mid);sort(nums, mid1,hi);//合并两个排好序的子数组merge(nums, lo, mid, hi); }添加括号的…最典型的回溯算法就是归并排序核心逻辑如下 public void sort(int[] nums, int lo, int ho){int mid (lo hi) / 2;//对数组的两部分分别排序sort(nums,lo, mid);sort(nums, mid1,hi);//合并两个排好序的子数组merge(nums, lo, mid, hi); }添加括号的所有方式 你输入一个算式你可以给它随意加括号请你穷举出全部所有的可能的加括号的结果。 ListInteger diffWaysToCompute(String input);解决办法的关键有两点 1.不要思考整体而是要目光聚焦局部只看一个运算符 2.明确递归函数是什么并且相信函数的定义 例如我们输入一个算式 1 2 * 3 - 4 * 5我们思考只加一层括号有几种加括号方式 (1) (2 * 3 - 4 * 5)(1 2) * (3 - 4 * 5)(1 2 * 3) - (4 * 5)(1 2 * 3 - 4) * (5)发现规律了吗我们其实就是按照运算符进行分隔并且给每个运算符的左右加括号。 仔细分析 (1 2 * 3) - (4 * 5)我们用-号进行分隔把原算式分隔为两个算式 1 2 * 3和 4 * 5分治算法这一步就是将原问题进行分解了我们现在要【治】了 1 2 * 3 可以有两种加括号的方式分别是 (1) (2 * 3) 7和 (1 2) * (3) 9所以我们可以将这个数据写成 [7,9]4*5只有一个数字那就是 [20]所以 (1 2 * 3) - (4 * 5) 有两种结果分别是 9 - 20 -11和 7 - 20 -13那么对于 (1 2 * 3) - (4 * 5) 这个例子我们的计算逻辑其实就是这段代码 ListInteger diffWaysToCompute((1 2 * 3) - (4 * 5)) {ListInteger res new LinkedList();/****** 分 ******/ListInteger left diffWaysToCompute(1 2 * 3);ListInteger right diffWaysToCompute(4 * 5);/****** 治 ******/for (int a : left)for (int b : right)res.add(a - b);return res; }diffWaysToCompute函数是计算当前输入的函数可以得到的函数值。 public ListInteger diffWaysToCompute(String input){ListInteger res new LinkedList();for(int i 0; i input.length(); i){char c input.chatAt(i);if(c - || c * || c ){ListInteger left diffWaysToCompute(input.substring(0,i));ListInteger right diffWaysToCompute(input.substring(i1));// 通过子问题的结果合成原问题的结果for (int a : left)for (int b : right)if (c )res.add(a b);else if (c -)res.add(a - b);else if (c *)res.add(a * b);}}if (res.isEmpty()) {res.add(Integer.parseInt(input));}return res; }扫描输入的算式input每当遇到输入的运算符号就进行分隔递归结果计算出来后根据运算结果来合并结果。 当然还有一个重点的函数 // base case // 如果 res 为空说明算式是一个数字没有运算符 if (res.isEmpty()) {res.add(Integer.parseInt(input)); }递归函数需要一个base case用来结束递归代表着你分到什么时候可以开始归一。当算是中不存在运算符的时候就可以结束了。 总结 解决上述算法题利用了分治思想以每个运算符作为分割点把复杂问题分解成小的子问题递归求解子问题然后再通过子问题的结果计算出原问题的结果。
http://www.pierceye.com/news/888276/

相关文章:

  • 最佳线上网站制作模板网站开发 企业 定制系统
  • 怎么将网站设置为首页百度seoo优化软件
  • iis6建设网站浏览wordpress显示在线人数
  • 一键制作单页网站女做受网站
  • 网站推广广告 优帮云开发公司资质哪里查
  • 沈阳网站建设思路做海报的话网站
  • 扬州网站建设suteng崇左网页设计
  • 中文网站模板html做网站 最好的开源cms
  • 个人资料展示网站网站建设网络推广外包服务商
  • 外贸网站建设有什么需要注意的吗网站建设职业发展前景
  • 企业网站建设方案效果版权WordPress
  • 做网站知道访客ip汝州文明建设网站
  • 吴江建设局网站打不开了网站备案信息地址
  • 长沙网站建设优化局域网网站架设软件
  • 重庆企业网站建设解决方案seo关键词怎么优化
  • 信誉好的大良网站建设做的好的ppt下载网站有哪些
  • 栖霞网站定制手机网站图片自适应代码
  • 企业网站管理中心网站海外推广
  • 书店商城网站设计万网虚拟主机做网站教程
  • 文化类网站是不是休闲娱乐类网站wordpress插件 ftp
  • 织梦系统网站吉林省建设安全厅官方网站
  • 网站推广网站关键词排名怎么做建站教程wp
  • 用织梦系统做网站产权网站建设需要掌握什么技术
  • 南宁seo平台费用安徽网站关键词优化排名
  • 李贤威 wordpress甘肃搜索引擎网络优化
  • 网站建设的步骤图片过程9377将军
  • 做彩票网站需要什么服务器wordpress slug
  • 个人空间网站建设太原做网页软件
  • 网站建站方式有哪些wordpress星座主题自适应
  • 如何为公司做网站算命 网站开发