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

外贸一般上什么网站培训方案及培训计划

外贸一般上什么网站,培训方案及培训计划,中职省级示范校建设网站,专业建站模板圆圈中最后剩下的数字0,1,…,n−1 这 n 个数字 (n>0) 排成一个圆圈,从数字 0 开始每次从这个圆圈里删除第 m 个数字。 求出这个圆圈里剩下的最后一个数字。 数据范围 1≤n,m≤4000 样例2 输入:n5 , m3输出:3算法思路 这是一个经典的约瑟夫…

圆圈中最后剩下的数字


0,1,…,n−1 这 n 个数字 (n>0) 排成一个圆圈,从数字 0 开始每次从这个圆圈里删除第 m 个数字。

求出这个圆圈里剩下的最后一个数字。

数据范围

1≤n,m≤4000

样例2
输入:n=5 , m=3输出:3

算法思路

这是一个经典的约瑟夫环问题(Josephus problem)的递归解法。问题描述为:n个人围成一圈,从某个指定的人开始报数,数到m的那个人就被淘汰,接着从下一个人重新开始报数,直到所有人都被淘汰,求最后剩下的人的初始位置。

递归思路:

  1. 基本情况:当只有1个人时(n=1),这个人是最后剩下的,返回0(表示初始位置是0)
  2. 递归情况:对于n个人,我们首先计算n-1个人时的解,然后加上m(因为每次淘汰第m个人),最后对n取模(因为是环形结构)
  • 时间复杂度:O(n),因为需要递归n次
  • 空间复杂度:O(n),递归调用栈的深度为n
class Solution {
public:int lastRemaining(int n, int m) {// 基本情况:只有一个人时,他就是最后剩下的if(n == 1) return 0;// 递归计算n-1个人的解,然后加上m并对n取模return (lastRemaining(n - 1, m) + m) % n;}
};

实例演示

示例:n=5, m=3

  1. lastRemaining(5,3) = (lastRemaining(4,3)+3)%5
  2. lastRemaining(4,3) = (lastRemaining(3,3)+3)%4
  3. lastRemaining(3,3) = (lastRemaining(2,3)+3)%3
  4. lastRemaining(2,3) = (lastRemaining(1,3)+3)%2
  5. lastRemaining(1,3) = 0 (基本情况)
  6. 回代:
    • lastRemaining(2,3) = (0+3)%2 = 1
    • lastRemaining(3,3) = (1+3)%3 = 1
    • lastRemaining(4,3) = (1+3)%4 = 0
    • lastRemaining(5,3) = (0+3)%5 = 3
      最终结果:3

优化建议

这个递归解法虽然简洁,但当n很大时可能会导致栈溢出。可以改用迭代方法来优化空间复杂度:

class Solution {
public:int lastRemaining(int n, int m) {int res = 0;  // 基本情况f(1)=0for(int i = 2; i <= n; i++) {res = (res + m) % i;}return res;}
};

迭代版本的空间复杂度降为O(1),更适合处理大规模输入。

http://www.dtcms.com/wzjs/288728.html

相关文章:

  • django做购物网站热搜排行榜今日排名
  • 广告设计网站都有哪些线下推广宣传方式有哪些
  • seo搜索引擎优化就业指导广东seo加盟
  • 建网站免费软件今日新闻头条新闻最新
  • 朝阳做网站哪家公司好百度广告上的商家可靠吗
  • 番禺做网站哪家专业搜索引擎优化方法有哪些
  • 上海商城网站开发会计培训班要多少钱
  • 高端网站建设公司价格百度搜索名字排名优化
  • 金华住房和城乡建设厅网站推广网站有哪些
  • 北京国贸网站建设网站建成后应该如何推广
  • picshow wordpress汕头seo排名
  • 做旅游网站运营成都网站建设seo
  • 外贸做网站建设哪家好优化营商环境工作总结
  • 求国外做任务赚钱的网站域名注册平台有哪些
  • 网站建设教程书籍如何找客户资源
  • 安卓做网站备案查询网
  • 购物网站前台模板周口seo推广
  • 高端响应式网站设计他达拉非什么是
  • 长沙企业网站制作百度如何收录网站
  • 教新手做网站难吗seo服务
  • phpwind做的网站长沙好的seo外包公司
  • 教育公司 网站建设seo优化排名公司
  • 乐清做网站的公司有哪些在哪里推广自己的产品
  • 福建建设人才网基础建站如何提升和优化
  • 重庆永川网站建设报价百度认证平台
  • 国外网站设计理念湖北seo公司
  • 深圳价格实惠的网站建设公司推广平台排行榜app
  • 小黄人seo网站优化外包顾问
  • 国内做化妆刷的比较好的网站网站的推广
  • 珠海建网站专业公司网络平台推广方案