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

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

備案的網(wǎng)站名稱寫什么深圳整站全網(wǎng)推廣

備案的網(wǎng)站名稱寫什么,深圳整站全網(wǎng)推廣,企業(yè)網(wǎng)站的制作原則,廣東政府疫情發(fā)布會(huì)文章目錄 題目標(biāo)題和出處難度題目描述要求示例數(shù)據(jù)范圍 解法思路和算法代碼復(fù)雜度分析 題目 標(biāo)題和出處 標(biāo)題:兩球之間的磁力 出處:1552. 兩球之間的磁力 難度 5 級(jí) 題目描述 要求 在代號(hào)為地球 C-137 的世界中,Rick 發(fā)現(xiàn)如果他將兩個(gè)…

文章目錄

  • 題目
    • 標(biāo)題和出處
    • 難度
    • 題目描述
      • 要求
      • 示例
      • 數(shù)據(jù)范圍
  • 解法
    • 思路和算法
    • 代碼
    • 復(fù)雜度分析

題目

標(biāo)題和出處

標(biāo)題:兩球之間的磁力

出處:1552. 兩球之間的磁力

難度

5 級(jí)

題目描述

要求

在代號(hào)為地球 C-137 的世界中,Rick 發(fā)現(xiàn)如果他將兩個(gè)球放在他新發(fā)明的籃子中,它們之間會(huì)形成特殊形式的磁力。Rick 有 n \texttt{n} n 個(gè)空的籃子,第 i \texttt{i} i 個(gè)籃子的位置在 position[i] \texttt{position[i]} position[i],Morty 想把 m \texttt{m} m 個(gè)球放到這些籃子中,使得任意兩球間的最小磁力最大。

Rick 聲明,兩個(gè)位于 x \texttt{x} x y \texttt{y} y 的球之間的磁力為 |x - y| \texttt{|x - y|} |x?-?y|。

給定一個(gè)整數(shù)數(shù)組 position \texttt{position} position 和一個(gè)整數(shù) m \texttt{m} m,返回最小磁力的最大值。

示例

示例 1:

示例 1

輸入: position = [1,2,3,4,7], m = 3 \texttt{position = [1,2,3,4,7], m = 3} position?=?[1,2,3,4,7],?m?=?3
輸出: 3 \texttt{3} 3
解釋:將 3 \texttt{3} 3 個(gè)球分別放入位于 1 \texttt{1} 1、 4 \texttt{4} 4 7 \texttt{7} 7 的三個(gè)籃子,兩球間的磁力分別為 [3, 3, 6] \texttt{[3, 3, 6]} [3,?3,?6]。最小磁力為 3 \texttt{3} 3。我們無法讓最小磁力大于 3 \texttt{3} 3。

示例 2:

輸入: position = [5,4,3,2,1,1000000000], m = 2 \texttt{position = [5,4,3,2,1,1000000000], m = 2} position?=?[5,4,3,2,1,1000000000],?m?=?2
輸出: 999999999 \texttt{999999999} 999999999
解釋:我們使用位于 1 \texttt{1} 1 1000000000 \texttt{1000000000} 1000000000 的籃子時(shí)最小磁力最大。

數(shù)據(jù)范圍

  • n = position.length \texttt{n} = \texttt{position.length} n=position.length
  • 2 ≤ n ≤ 10 5 \texttt{2} \le \texttt{n} \le \texttt{10}^\texttt{5} 2n105
  • 1 ≤ position[i] ≤ 10 9 \texttt{1} \le \texttt{position[i]} \le \texttt{10}^\texttt{9} 1position[i]109
  • 所有 position \texttt{position} position 中的整數(shù)各不相同
  • 2 ≤ m ≤ position.length \texttt{2} \le \texttt{m} \le \texttt{position.length} 2mposition.length

解法

思路和算法

由于兩個(gè)球之間的磁力等于兩個(gè)球之間的距離,因此為了得到最小磁力,需要計(jì)算最小距離。以下將最小磁力的最大值對(duì)應(yīng)的最小距離的最大值稱為「臨界距離」。

當(dāng) m m m 個(gè)球已經(jīng)放入籃子時(shí),最小距離一定是其中一對(duì)位置相鄰的球之間的距離,因此需要將數(shù)組 position \textit{position} position 升序排序,在排序后的籃子位置之間計(jì)算放入的球的最小距離。

如果任意兩個(gè)球之間的距離不超過臨界距離,則可以放入至少 m m m 個(gè)球;如果存在兩個(gè)球之間的距離大于臨界距離,則不能放入 m m m 個(gè)球。因此,這道題是二分查找判定問題,需要找到可以放入 m m m 個(gè)球的最小距離的最大值。

low \textit{low} low high \textit{high} high 分別表示二分查找的下界和上界。由于至少需要放入兩個(gè)球,當(dāng)最小距離最大時(shí)每個(gè)球放在不同的籃子中,因此 low \textit{low} low 的初始值等于 1 1 1;由于最大距離為兩端的籃子之間的距離,因此 high \textit{high} high 的初始值等于 position \textit{position} position 中的最大值與最小值之差。

為了能放入 m m m 個(gè)球,當(dāng)最小距離確定時(shí),應(yīng)該在確保相鄰的球之間的距離不小于最小距離的前提下盡可能放入更多的球。因此,第一個(gè)球應(yīng)該放到最左邊的籃子中,后面的每個(gè)球應(yīng)該放到與前一個(gè)球的距離大于等于最小距離的最近的籃子中。根據(jù)該規(guī)則,遍歷排序后的數(shù)組 position \textit{position} position,判斷每個(gè)球應(yīng)該放到哪些籃子中,并計(jì)算放到籃子中的球的總數(shù)。

每次查找時(shí),取 mid \textit{mid} mid low \textit{low} low high \textit{high} high 的平均數(shù)向上取整,將 mid \textit{mid} mid 作為最小距離,判斷是否可以將 m m m 個(gè)球放到籃子中,執(zhí)行如下操作。

  • 如果最小距離是 mid \textit{mid} mid 時(shí)可以將 m m m 個(gè)球放到籃子中,則臨界距離大于等于 mid \textit{mid} mid,因此在 [ mid , high ] [\textit{mid}, \textit{high}] [mid,high] 中繼續(xù)查找。

  • 如果最小距離是 mid \textit{mid} mid 時(shí)不能將 m m m 個(gè)球放到籃子中,則臨界距離小于 mid \textit{mid} mid,因此在 [ low , mid ? 1 ] [\textit{low}, \textit{mid} - 1] [low,mid?1] 中繼續(xù)查找。

當(dāng) low = high \textit{low} = \textit{high} low=high 時(shí),查找結(jié)束,此時(shí) low \textit{low} low 即為臨界距離。

得到臨界距離之后,臨界距離對(duì)應(yīng)的磁力即為最小磁力的最大值。

代碼

class Solution {public int maxDistance(int[] position, int m) {Arrays.sort(position);int n = position.length;int low = 1, high = position[n - 1] - position[0];while (low < high) {int mid = low + (high - low + 1) / 2;if (canPutMBalls(position, m, mid)) {low = mid;} else {high = mid - 1;}}return low;}public boolean canPutMBalls(int[] position, int m, int force) {int count = 1;int prev = position[0];int n = position.length;for (int i = 1; i < n; i++) {if (position[i] - prev >= force) {count++;if (count == m) {return true;}prev = position[i];}}return false;}
}

復(fù)雜度分析

  • 時(shí)間復(fù)雜度: O ( n log ? ( n p ) ) O(n \log (np)) O(nlog(np)),其中 n n n 是數(shù)組 position \textit{position} position 的長(zhǎng)度, p p p 是數(shù)組 position \textit{position} position 中的最大值。排序需要 O ( n log ? n ) O(n \log n) O(nlogn) 的時(shí)間,排序之后需要執(zhí)行 O ( log ? p ) O(\log p) O(logp) 次二分查找,每次二分查找需要 O ( n ) O(n) O(n) 的時(shí)間遍歷數(shù)組 position \textit{position} position 判斷是否可以將 m m m 個(gè)球放到籃子中,二分查找共需要 O ( n log ? p ) O(n \log p) O(nlogp) 的時(shí)間,因此時(shí)間復(fù)雜度是 O ( n log ? n + n log ? p ) = O ( n log ? ( n p ) ) O(n \log n + n \log p) = O(n \log (np)) O(nlogn+nlogp)=O(nlog(np))。

  • 空間復(fù)雜度: O ( log ? n ) O(\log n) O(logn),其中 n n n 是數(shù)組 position \textit{position} position 的長(zhǎng)度。排序需要 O ( log ? n ) O(\log n) O(logn) 的遞歸調(diào)用棧空間。

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

相關(guān)文章:

  • 大眾點(diǎn)評(píng)怎么做團(tuán)購(gòu)網(wǎng)站廣告軟文外鏈平臺(tái)
  • 做網(wǎng)站需要數(shù)據(jù)儲(chǔ)存么深圳網(wǎng)站設(shè)計(jì)三把火
  • 做網(wǎng)站十大公司哪家好短視頻推廣渠道
  • 92素材網(wǎng)安卓?jī)?yōu)化大師官網(wǎng)
  • 手機(jī)微信網(wǎng)站怎么做的好深圳網(wǎng)站設(shè)計(jì)十年樂云seo
  • 最好的網(wǎng)站制作公司百度快照是怎么做上去的
  • 自己如何開自己的商城黑帽seo培訓(xùn)網(wǎng)
  • 杭州建立網(wǎng)站長(zhǎng)沙企業(yè)網(wǎng)站建設(shè)報(bào)價(jià)
  • 動(dòng)漫制作專業(yè)的高職實(shí)訓(xùn)室seo引擎搜索網(wǎng)站關(guān)鍵詞
  • 濟(jì)南外貿(mào)網(wǎng)站建設(shè)公司排名seo基礎(chǔ)入門免費(fèi)教程
  • 做網(wǎng)站和做軟件哪個(gè)賺錢丈哥seo博客工具
  • 網(wǎng)站投入費(fèi)用百度知道答題賺錢
  • 四川瑞通工程建設(shè)有限公司網(wǎng)站東莞谷歌推廣
  • 計(jì)算機(jī)做網(wǎng)站難嗎yandex搜索引擎
  • 河北省 政府網(wǎng)站 建設(shè)意見如何擁有自己的網(wǎng)站
  • 政府網(wǎng)站開發(fā)招標(biāo)文件山西免費(fèi)網(wǎng)站關(guān)鍵詞優(yōu)化排名
  • 做網(wǎng)站實(shí)驗(yàn)體會(huì)百度2022新版下載
  • 拼多多賣網(wǎng)站建設(shè)營(yíng)銷活動(dòng)策劃
  • 東莞正規(guī)的企業(yè)網(wǎng)站設(shè)計(jì)多少錢培訓(xùn)網(wǎng)站建設(shè)
  • 建設(shè)工程網(wǎng)站教程地推網(wǎng)app推廣平臺(tái)
  • wordpress建站更換圖片熱點(diǎn)新聞事件及評(píng)論
  • 做網(wǎng)站接專線費(fèi)用seo新方法
  • 網(wǎng)站開發(fā)分頁代碼站長(zhǎng)工具精品
  • 沒有備案的網(wǎng)站百度能收錄品牌推廣方案策劃書
  • 網(wǎng)站建設(shè)代理推廣徽信xiala5效果好軟文世界官網(wǎng)
  • 鎮(zhèn)江論壇網(wǎng)站建設(shè)網(wǎng)站建設(shè)介紹ppt
  • 網(wǎng)站免費(fèi)做app神馬移動(dòng)排名優(yōu)化
  • 四川網(wǎng)站建設(shè)套餐友情鏈接交易網(wǎng)
  • 網(wǎng)頁設(shè)計(jì)圖片簡(jiǎn)單seo網(wǎng)站推廣排名
  • 深圳鼎晟展覽設(shè)計(jì)有限公司廣州王牌seo