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

网站建设 中企动力宜昌织梦网站优化怎么做

网站建设 中企动力宜昌,织梦网站优化怎么做,烟台做网站找哪家好,wordpress主题语言包目录 找规律 构建乘积数组 原题链接 解析 核心思想 答案 剪绳子 原题链接 解析 核心思想 答案 圆圈中最后剩下的数字 原题链接 解析 核心思想 答案 找规律 需要通过列举多个示例#xff0c;从多个示例的输入到输出中得到规律去普遍化。 构建乘积数组 给定…目录 找规律 构建乘积数组 原题链接 解析  核心思想 答案 剪绳子 原题链接 解析 核心思想 答案 圆圈中最后剩下的数字 原题链接 解析 核心思想 答案  找规律 需要通过列举多个示例从多个示例的输入到输出中得到规律去普遍化。 构建乘积数组 给定一个数组 A[0,1,…,n-1]请构建一个数组 B[0,1,…,n-1]其中 B[i] 的值是数组 A 中除了下标 i 以外的元素的积, 即 B[i]A[0]×A[1]×…×A[i-1]×A[i1]×…×A[n-1]。不能使用除法。 示例: 输入: [1,2,3,4,5] 输出: [120,60,40,30,24]var constructArr function(a) {}; 原题链接 力扣 解析  注意for循环的第一步中mul*a[i]第一次执行循环体的时候不会执行第二次循环前会先执行再i。 核心思想 以示例为例构建5位数组arr每位等于i-1的累乘[1,1,2,6,24]此时最后一位即对应答案前一位需要乘5再前一位需要乘5*4再前一位需要乘5*4*3再前一位需要乘5*4*3*2。 答案 var constructArr function(a) {const res []for (let i 0, mul 1; i a.length; mul * a[i], i) {res[i] mul}for (let i a.length - 1, mul 1; i 0; mul * a[i], i--) {res[i] res[i] *mul}return res }; 剪绳子 给你一根长度为 n 的绳子请把绳子剪成整数长度的 m 段m、n都是整数n1并且m1每段绳子的长度记为 k[0],k[1]...k[m - 1] 。请问 k[0]*k[1]*...*k[m - 1] 可能的最大乘积是多少例如当绳子的长度是8时我们把它剪成长度分别为2、3、3的三段此时得到的最大乘积是18。 答案需要取模 1e971000000007如计算初始结果为1000000008请返回 1。 示例 1 输入: 2 输出: 1 解释: 2 1 1, 1 × 1 1 示例 2: 输入: 10 输出: 36 解释: 10 3 3 4, 3 × 3 × 4 36 var cuttingRope function(n) {}; 原题链接 力扣 解析 找规律通过下图可发现规律为拆分为尽可能多的3相乘其次为2相乘。 核心思想 方法一找规律 前3个为特殊的值直接返回后面每个值大于4即减一次3并将最大值乘一次3跳出循环后将最后剩余的值乘以最大值即可 方法二动态规划 首先确定动态规划的数组代表什么res[n]表示绳长为n时剪的乘积的最大值。 然后设定初始值res[0]res[1]1再找到上下层级的关系。当长度大于2时每次剪长度为j分为两种情况 1.(n-j)*j 此时为最大值的话不在往下拆分。 2.res[n-j]*j剪去长度为j时继续往下剪。 由于5米绳子剪2和剪3是一样的所以除以2只用循环一半所以j从1~n/2即可 结论res[n]Math.max((n-j)*j,res[n-j]*j) j从1~n/2。 答案 方法一找规律 var cuttingRope function (n) {if(n2){return 1}if(n3){return 2}let max 1while(n4){max*3n-3}return max*n; }; 方法二动态规范 var cuttingRope function (n) {let res new Array(n 1)res[0] 1res[1] 1for (let i 2; i n; i) {let curMax 0;for (let j 1; j i/2; j) {curMax Math.max(curMax, Math.max(j * (i - j), j * res[i - j]));}res[i] curMax;}return res[n]; }; 圆圈中最后剩下的数字 0,1,···,n-1这n个数字排成一个圆圈从数字0开始每次从这个圆圈里删除第m个数字删除后从下一个数字开始计数。求出这个圆圈里剩下的最后一个数字。 例如0、1、2、3、4这5个数字组成一个圆圈从数字0开始每次删除第3个数字则删除的前4个数字依次是2、0、4、1因此最后剩下的数字是3。 示例 1 输入: n 5, m 3 输出: 3示例 2 输入: n 10, m 17 输出: 2 var lastRemaining function (n, m) {}; 原题链接 力扣 解析 通过列举m为定值n为多值的的示例找示例结果中的规律。 f(1,3)0 f(2,3)1 f(3,3)1 f(4,3)0 f(5,3)3 核心思想 方法一 按题目意思设置2个序号一个用于表示当前遍历的数组位置一个用来表示循环到第几个循环删除数组中的元素只到数组中只剩余1个元素。 方法二通过列举当m为定值n为多个值的示例得到循环递归的关系 f(x,y)(f(x-1,y)y)%x 理解为f(x,y)删除第y位的元素后相当于x-1个元素时向右偏移y位例如f(5,3)删除第一位元素后从 01234》0134此时以3为第一位相当于3401的四位依次删除的结果然后由于可能大于数组所以需要%x。 答案  方法一根据题意循环删除时间复杂度过不了 var lastRemaining function(n, m) {let arr new Array(n).fill(0).map((v,i)i)let i 0let j 1while(arr.length!1){if(mj){arr.splice(index,1)i --j0}ijif(iarr.length){i0}}return arr[0] };方法二找规律递归 var lastRemaining function (n, m) {if (n 1) return 0; //只有一个数的时候那就是下标为0的地方return (lastRemaining(n - 1, m) m) % n; };
http://www.yutouwan.com/news/49078/

相关文章:

  • 网站开发和桌面开发哪个难中国网络技术有限公司
  • 网站开发模式框架太原seo报价
  • 查询网站服务商网站建好了 如何推广
  • 网站建设公司怎么写宣传语宣城有木有专业做网站的
  • 公司网站的具体的建设方案网络整合营销策划书
  • 怎么做网站地图的样式凡客设计
  • 网站因未取得备案号而被关闭网站建成
  • 清华紫光是可以做网站的吗长沙建站公司
  • 网站建设英文字体平湖网站建设公司
  • 做网站需要ftp吗河南地区建设工程信息网
  • 绍兴哪些公司做网站学院加强网站建设
  • 屏蔽蜘蛛网站还会被收录吗做网站现在赚钱吗
  • 网站经营方案 备案dw做网站菜单栏
  • 水网站源码用dw制作个人简介网页代码
  • 重点专业建设验收网站网页制作与网站管理
  • 如何用虚拟主机建设网站学生网页制作成品
  • 聚美优品网站怎么做的自学网站建设要多久
  • 视频网站高管有做传统媒体出身的吗?优酷副总裁转型成功的概率有多少?学校网站建设解决方案
  • 做男装比较好的网站创建网站的软件
  • php大流量网站开发规范做网站的尺寸1920
  • 旅游网站建设的功能品牌网站建设意义
  • 电商网站开发公司做外贸网站卖什么货好呢
  • 网站建设项目选题视频课程网站建设
  • 网站备案信息被注销网页设计公司哪个好
  • 思乐网站建设如何免费引流推广
  • 成都网站建设成功案例单招网烟台网站搜索优化
  • 深圳市住房城乡建设局网站搜狗推广下架
  • 个人建站软件小马网站建设
  • 网站域名备案需要什么wordpress notfound
  • 做资源网站项目网站基础设施建设