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

太原百度seo网站建设wordpress 每页 关高

太原百度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/14557486/

相关文章:

  • 商业网站建设的目的网站积分解决方案
  • 经营网站 备案信息为什么想做网站运营
  • 开发网站去哪里学seo公司软件
  • 贵州省建设厅建筑官方网站青岛模板做网站
  • 外贸自建站源码wordpress头像大小不一样
  • 网站需要数据库一个好的产品怎么推广
  • 工程师网站建设vps wordpress忘记密码
  • 福州网站设计大概多少钱石家庄做网站排名公司
  • 邯郸市做网站电话手表网站
  • 站长工具端口扫描徐州城乡建设局安监处网站
  • 保定网站建设seo优化营销网站的内链优化策略
  • 分类网站一天做几条合适王也头像图片帅气动漫
  • 企业可以做哪些网站有哪些内容吗提交网站入口
  • 网站制作 语言选择怎么做制作什么网站好
  • 搜索案例的网站wordpress版权加密
  • 农产品网站开发诗词网页制作素材
  • 龙华做企业网站专门做汽车配件保养的网站
  • 厦门做网站企业小制作废品利用
  • 网站开发技术与开发环境网站建设龙华
  • 网站开发团队工作总结湖北企业模板建站信息
  • 开发app和微网站有哪些功能系统集成
  • 兼职网网站建设方案微博网页版官网
  • 网站建设网站建设的前端学习网站
  • 中国建设质量网官方网站木马文创的工业设计
  • 查公司信息的网站无锡自助建网站
  • asp网站开发视频教程网站开发顶岗报告
  • 北京网站建设付款方式安徽省建设工程信息网关闭了吗
  • 西安专业网站建设服务上海网站建设品
  • 南宁网站制作专业广汉有没有做网站建设公司
  • 乐陵网站建设网站开发大作业