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

建筑培训网站有哪些/重庆seo培训

建筑培训网站有哪些,重庆seo培训,php的网站怎么做的,黑客做网站摘要 剑指 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.jinmujx.cn/news/570.html

相关文章:

  • 产品展示型的网站功能有哪些/网上推广专员是什么意思
  • 猪八戒网站 怎么做兼职/品牌策划公司介绍
  • 乐平市网站建设/网络营销ppt案例
  • 福田做商城网站建设哪家公司靠谱/百度推广是怎么做的
  • 外国客户网站/营销策划公司取名大全
  • 网站后缀是nl是哪个国家/想要导航推广网页怎么做
  • php一台电脑做网站/百度人工
  • 学做网站买什么样的书/发布新闻稿
  • 网站建设公司建设/市场调研分析报告
  • 网站地图 seo/武汉百度关键词推广
  • 我的世界有什么做的视频网站/家庭优化大师免费下载
  • app界面生成器/seo1搬到哪里去了
  • 怎么做刷会员的网站/seo排名点击器曝光行者seo
  • 用cn作网站行么/企业关键词大全
  • 公司网站制作内容/2022年今天新闻联播
  • 海淘返利网站怎么做/上海网络营销上海网络推广
  • 国内出名网站建设设计公司/qq推广软件
  • 亚马逊雨林破坏现状/文章优化关键词排名
  • 灵璧零度网站建设/国际新闻最新
  • wordpress 上传文件中文乱码/西安搜索引擎优化
  • 中企动力青岛分公司/宁波seo关键词如何优化
  • 中国建设银行人力资源网站/营销互联网推广公司
  • 做站群的网站要备案吗/电商网站平台搭建
  • 微信商城与网站一体/谷歌浏览器下载手机版中文
  • 微信推送在哪个网站做/百度seo排名优化技巧分享
  • 聚民网网站建设/海外网络推广方案
  • 百度云怎么做网站/怎么给网站做优化
  • 学校网站建设学生文明上网/下载浏览器
  • 网站开发的需求/今日最新体育新闻
  • 做问卷的网站/一站式推广平台