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

太原百度seo网站建设高端网站教建设

太原百度seo网站建设,高端网站教建设,如何用本地视频做网站,wordpress上传地址摘要 剑指 Offer 62. 圆圈中最后剩下的数字 一、约瑟夫环解析 题目中的要求可以表述为#xff1a;给定一个长度为 n 的序列#xff0c;每次向后数 m 个元素并删除#xff0c;那么最终留下的是第几个元素#xff1f;这个问题很难快速给出答案。但是同时也要看到#xff…摘要 剑指 Offer 62. 圆圈中最后剩下的数字 一、约瑟夫环解析 题目中的要求可以表述为给定一个长度为 n 的序列每次向后数 m 个元素并删除那么最终留下的是第几个元素这个问题很难快速给出答案。但是同时也要看到这个问题似乎有拆分为较小子问题的潜质如果我们知道对于一个长度n - 1 的序列留下的是第几个元素那么我们就可以由此计算出长度为 n 的序列的答案。 我们将上述问题建模为函数 f(n, m)该函数的返回值为最终留下的元素的序号。 首先长度为n的序列会先删除第m% n 个元素然后剩下一个长度为n - 1的序列。那么我们可以递归地求解 f(n - 1, m)就可以知道对于剩下的 n - 1 个元素最终会留下第几个元素我们设答案为 x f(n - 1, m)。 由于我们删除了第 m % n 个元素将序列的长度变为 n - 1。当我们知道了 f(n - 1, m) 对应的答案 x 之后我们也就可以知道长度为 n 的序列最后一个删除的元素应当是从 m % n 开始数的第 x 个元素。因此有 f(n, m) (m % n x) % n (m x) % n。 我们递归计算 f(n, m), f(n - 1, m), f(n - 2, m), ... 直到递归的终点 f(1, m)。当序列长度为 1 时一定会留下唯一的那个元素它的编号为 0。 class Solution {public int lastRemaining(int n, int m) {return f(n, m);}public int f(int n, int m) {if (n 1) {return 0;}int x f(n - 1, m);return (m x) % n;} } 复杂度分析 时间复杂度O(n)需要求解的函数值有n个。空间复杂度O(n)函数的递归深度为n需要使用 O(n)的栈空间。 二、数学 迭代 class Solution {public int lastRemaining(int n, int m) {int f 0;for (int i 2; i ! n 1; i) {f (m f) % i;}return f;} } 复杂度分析 时间复杂度O(n)需要求解的函数值有n个。 空间复杂度O(1)只使用常数个变量。 博文参考 《leetcode》
http://www.hkea.cn/news/14522452/

相关文章:

  • 网站开发的小结网站开发提供图片加载速度
  • 外贸网址建站镇江外贸型网站建设
  • 网站全屏图片怎么做的渭南市建设工程招投标信息网
  • 要做未来科技的网站怎么做大型网站建设哪家服务好
  • 上海自助建站官网临沂建设网站公司
  • 国内坚持做正品的网站怎么制作香囊 教程
  • 工具类网站开发网站psd模版
  • psd模板免费下载网站seo推广业务员招聘
  • 小说网站建设模板下载wordpress手机轻主题
  • 东莞网站优化哪里找wordpress手机版论坛
  • 网站对图片优化吗wordpress 搜索插件
  • 成都网站制作东三环免费开源企业网站
  • 网站开发技术实验总结门户网站建设运营
  • 网络优化网站建设学习室内设计效果图平面图
  • 购物商城html网站代码企业网站推广费用
  • 创办网站需要多少钱嘉兴网站建设成都网站设计
  • 灵犀科技 网站开发佼佼者沈阳鸿晟服装有限公司的案例
  • 自适应网站好处中山最好的网站建设公司哪家好
  • 青岛网站产品图片设计p2p网站建设方案
  • sql2005做网站武进网站建设市场
  • 住房城乡建设部门户网站烟气脱硫河北网站建设推广公司
  • 网站建设所属行业中山网站建设文化信息
  • 电商网站建设需要哪些技术长沙响应式网站建设
  • 中山网站建设模板网络公司做网站要多少像素
  • 域名及网站建设实训南宁网络公司联系方式
  • html企业网站模板免费下载学设计的视频网站
  • 北京网站建设一站式服务WordPress接入广告
  • 大竹网站建设网站设计建设 公司
  • 哪做网站便宜wordpress 分类文章置顶
  • 网站建设 服务内容 费用杭州萧山区专门做网站的公司