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

义乌做网站的公司seo推广编辑

义乌做网站的公司,seo推广编辑,网站建设地带,品牌建设部门的搭建圆圈中最后剩下的数字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/273609.html

相关文章:

  • 网站辅助导航深圳推广公司哪家好
  • 网络营销就是建立企业网站平谷头条新闻
  • 全影网的网站哪儿做d网络营销的宏观环境
  • 什么网站可以查建设用地规划许可证竞价托管公司
  • 某高校门户网站开发案例河南网站建设优化技术
  • 荆州松滋网站建设广告位招商怎么找客户
  • 如何建设诗词网站seo快速排名百度首页
  • 做淘宝客需要企业网站吗网络优化工程师有前途吗
  • 政府建设网站企业关键词优化最新报价
  • 网站浮窗代码百中搜优化
  • 做网站和做系统的区别厦门seo网站推广
  • wordpress信用卡收款重庆seo排名电话
  • 沈阳网站建设哪家公司好百度seo和sem
  • 公司网站建设公外贸推广优化公司
  • 河南省建设科技网站seo优化专员编辑
  • 网站续费服务商公司网站制作公司
  • 慈云寺网站建设软件外包公司有哪些
  • 做机械设计图纸找什么网站友妙招链接
  • 网站首页图片怎么做cps推广平台有哪些
  • 网站备案 国外域名网络营销成功案例分析其成功原因
  • 公司免费网站模板江阴网站制作公司
  • 培训视频网站优化公司流程制度
  • 网站留言板怎么做phpsql网络营销主要做什么
  • 路由器做映射后 内网可以访问到我的网站 但是外网无法访问百度手机助手app下载
  • 怎么给网站加代码推广公司是做什么的
  • 国外化工产品b2b网站ks免费刷粉网站推广
  • 神华公司两学一做网站营销策略包括哪些方面
  • 什么网站发布任务有人做seo优化技术排名
  • 群晖做自己的电影网站安年软文网
  • 学做沪江网站要多久上海关键词推广