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

做网页网站 的公司小企业网站建设哪家便宜

做网页网站 的公司,小企业网站建设哪家便宜,上海网站建设不好,济南市城乡建设部网站首页摘要 剑指 Offer 62. 圆圈中最后剩下的数字 一、约瑟夫环解析 题目中的要求可以表述为:给定一个长度为 n 的序列,每次向后数 m 个元素并删除,那么最终留下的是第几个元素?这个问题很难快速给出答案。但是同时也要看到&#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.yayakq.cn/news/275250/

相关文章:

  • 江苏中兴建设有限公司网站专业网站制作公司教程
  • 设备上哪个网站做外贸推广网站建设如何开票
  • 校园网站建设的意见规划设计咨询公司
  • 自建网站平台的页面功能洛阳已经开始群体感染了
  • 学校网站建设哪家好网页设计与制作 教学效果
  • 在线做海报网站wordpress条件筛选
  • 做外贸soho网站的公司吗wordpress中文主题团队
  • 公司网上注册在哪个网站网站建设研究方法
  • 苏州建设造价信息网站wordpress环境搭建
  • 族谱网站建设方案南邮通达网页设计报告
  • 政务网站建设管理工作总结wordpress删去RSS
  • 模板手机网站建设多少钱wordpress网站加速
  • 五合一营销型网站国内视差网站
  • 个人网站空间怎么做扫码点餐微信小程序怎么样开通
  • 镇江网站网站建设上海企业网站建设公司名
  • 德阳市建设局官方网站安全月住房和城乡建设部网站城市稽查
  • 网站怎么做才会有收录昆明网站建设公司猫咪科技
  • 简述jsp网站开发的环境配置网站配色方案 对比色
  • 手机访问asp网站godaddy 网站上传
  • 可以做网站的电脑软件24小时免费更新在线视频
  • 网站建设和app制作免费h5页面应用制作
  • 做公益网站怎么赚钱网店营销网站
  • 海南省建设信息官方网站阳东网站seo
  • 哪个网站做汽车保养比较好自己如何制作一个小程序
  • 网站公司建立展览搭建设计网站
  • 福州手游网站建设拓什么设计网站
  • 免费做文字图网站namesilo wordpress
  • 网站建设和维护的职责长沙网站优化方法
  • 企业网站建立教程wordpress googleapis
  • 外贸工厂的网站建设教育网站建设网