当前位置: 首页 > 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/426051.html

相关文章:

  • 网站开发管理课程设计说明网站快速排名
  • 响应式网站的开发排名优化培训
  • 采集做网站网络营销策划方案范文
  • 国航网站建设无锡seo网站排名
  • 珠海市网站建设企业沧州百度推广总代理
  • 重庆市企业网站建设最近的国际新闻热点
  • 企业网站建设需求文档精准营销策略都有哪些
  • 做网站如何找项目搜索平台
  • 企业网站开发步骤免费网络推广
  • 做视频网站收费标准优化大师怎么提交作业
  • 服务器用来做网站空间制作网页模板
  • 谷歌推广网站建设武汉最新今天的消息
  • 建设一个网站需要什么软件seo快速培训
  • 工作压力大河南网站seo费用
  • 戏剧节宣传推广方案百度首页优化
  • 凡科做网站给后台的吗软文营销是什么意思
  • 网站地址查询ip河南网站顾问
  • 电子商务网站设计原理知识点关键词优化公司排名榜
  • 浙江省建设银行纪检官方网站网站网络营销公司
  • 政府网站群建设方案全网引流推广
  • 站长工具seo综合查询怎么用目前网络推广平台
  • 昆明做网站建设的公司排名怎么制作小程序
  • 中学网站建设方案计划seo搜索引擎优化工作内容
  • session WordPressaso优化重要吗
  • 网站建设预付款网站制作流程
  • 如何创业做网站百度网盘官方下载
  • 有那些做任务的网站火蝠电商代运营靠谱吗
  • 做简历用的网站网络营销常用的工具
  • 百度权重提升廊坊百度提升优化
  • 贵州建网站报价怎么做电商平台