中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

建筑培訓(xùn)網(wǎng)站有哪些/重慶seo培訓(xùn)

建筑培訓(xùn)網(wǎng)站有哪些,重慶seo培訓(xùn),php的網(wǎng)站怎么做的,黑客做網(wǎng)站摘要 劍指 Offer 62. 圓圈中最后剩下的數(shù)字 一、約瑟夫環(huán)解析 題目中的要求可以表述為:給定一個(gè)長(zhǎng)度為 n 的序列,每次向后數(shù) m 個(gè)元素并刪除,那么最終留下的是第幾個(gè)元素?這個(gè)問題很難快速給出答案。但是同時(shí)也要看到&#xff…

摘要

劍指 Offer 62. 圓圈中最后剩下的數(shù)字

一、約瑟夫環(huán)解析

題目中的要求可以表述為:給定一個(gè)長(zhǎng)度為 n 的序列,每次向后數(shù) m 個(gè)元素并刪除,那么最終留下的是第幾個(gè)元素?這個(gè)問題很難快速給出答案。但是同時(shí)也要看到,這個(gè)問題似乎有拆分為較小子問題的潛質(zhì):如果我們知道對(duì)于一個(gè)長(zhǎng)度n - 1 的序列,留下的是第幾個(gè)元素,那么我們就可以由此計(jì)算出長(zhǎng)度為 n 的序列的答案。

我們將上述問題建模為函數(shù) f(n, m),該函數(shù)的返回值為最終留下的元素的序號(hào)。

首先,長(zhǎng)度為n的序列會(huì)先刪除第m% n 個(gè)元素,然后剩下一個(gè)長(zhǎng)度為n - 1的序列。那么,我們可以遞歸地求解 f(n - 1, m),就可以知道對(duì)于剩下的 n - 1 個(gè)元素,最終會(huì)留下第幾個(gè)元素,我們?cè)O(shè)答案為 x = f(n - 1, m)。

由于我們刪除了第 m % n 個(gè)元素,將序列的長(zhǎng)度變?yōu)?n - 1。當(dāng)我們知道了 f(n - 1, m) 對(duì)應(yīng)的答案 x 之后,我們也就可以知道,長(zhǎng)度為 n 的序列最后一個(gè)刪除的元素,應(yīng)當(dāng)是從 m % n 開始數(shù)的第 x 個(gè)元素。因此有 f(n, m) = (m % n + x) % n = (m + x) % n。

我們遞歸計(jì)算 f(n, m), f(n - 1, m), f(n - 2, m), ... 直到遞歸的終點(diǎn) f(1, m)。當(dāng)序列長(zhǎng)度為 1 時(shí),一定會(huì)留下唯一的那個(gè)元素,它的編號(hào)為 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;}
}

復(fù)雜度分析

  • 時(shí)間復(fù)雜度:O(n),需要求解的函數(shù)值有n個(gè)。
  • 空間復(fù)雜度:O(n),函數(shù)的遞歸深度為n,需要使用 O(n)的??臻g。

二、數(shù)學(xué) + 迭代

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;}
}

復(fù)雜度分析

  • 時(shí)間復(fù)雜度:O(n),需要求解的函數(shù)值有n個(gè)。

  • 空間復(fù)雜度:O(1),只使用常數(shù)個(gè)變量。

博文參考

《leetcode》

http://www.risenshineclean.com/news/570.html

相關(guān)文章:

  • 產(chǎn)品展示型的網(wǎng)站功能有哪些/網(wǎng)上推廣專員是什么意思
  • 豬八戒網(wǎng)站 怎么做兼職/品牌策劃公司介紹
  • 樂平市網(wǎng)站建設(shè)/網(wǎng)絡(luò)營(yíng)銷ppt案例
  • 福田做商城網(wǎng)站建設(shè)哪家公司靠譜/百度推廣是怎么做的
  • 外國(guó)客戶網(wǎng)站/營(yíng)銷策劃公司取名大全
  • 網(wǎng)站后綴是nl是哪個(gè)國(guó)家/想要導(dǎo)航推廣網(wǎng)頁(yè)怎么做
  • php一臺(tái)電腦做網(wǎng)站/百度人工
  • 學(xué)做網(wǎng)站買什么樣的書/發(fā)布新聞稿
  • 網(wǎng)站建設(shè)公司建設(shè)/市場(chǎng)調(diào)研分析報(bào)告
  • 網(wǎng)站地圖 seo/武漢百度關(guān)鍵詞推廣
  • 我的世界有什么做的視頻網(wǎng)站/家庭優(yōu)化大師免費(fèi)下載
  • app界面生成器/seo1搬到哪里去了
  • 怎么做刷會(huì)員的網(wǎng)站/seo排名點(diǎn)擊器曝光行者seo
  • 用cn作網(wǎng)站行么/企業(yè)關(guān)鍵詞大全
  • 公司網(wǎng)站制作內(nèi)容/2022年今天新聞聯(lián)播
  • 海淘返利網(wǎng)站怎么做/上海網(wǎng)絡(luò)營(yíng)銷上海網(wǎng)絡(luò)推廣
  • 國(guó)內(nèi)出名網(wǎng)站建設(shè)設(shè)計(jì)公司/qq推廣軟件
  • 亞馬遜雨林破壞現(xiàn)狀/文章優(yōu)化關(guān)鍵詞排名
  • 靈璧零度網(wǎng)站建設(shè)/國(guó)際新聞最新
  • wordpress 上傳文件中文亂碼/西安搜索引擎優(yōu)化
  • 中企動(dòng)力青島分公司/寧波seo關(guān)鍵詞如何優(yōu)化
  • 中國(guó)建設(shè)銀行人力資源網(wǎng)站/營(yíng)銷互聯(lián)網(wǎng)推廣公司
  • 做站群的網(wǎng)站要備案嗎/電商網(wǎng)站平臺(tái)搭建
  • 微信商城與網(wǎng)站一體/谷歌瀏覽器下載手機(jī)版中文
  • 微信推送在哪個(gè)網(wǎng)站做/百度seo排名優(yōu)化技巧分享
  • 聚民網(wǎng)網(wǎng)站建設(shè)/海外網(wǎng)絡(luò)推廣方案
  • 百度云怎么做網(wǎng)站/怎么給網(wǎng)站做優(yōu)化
  • 學(xué)校網(wǎng)站建設(shè)學(xué)生文明上網(wǎng)/下載瀏覽器
  • 網(wǎng)站開發(fā)的需求/今日最新體育新聞
  • 做問卷的網(wǎng)站/一站式推廣平臺(tái)