【面試高頻題】難度 1.5/5仅仆,常見構(gòu)造題(近期原題)

題目描述

這是 LeetCode 上的 2028. 找出缺失的觀測數(shù)據(jù) 墓拜,難度為 中等撮弧。

Tag : 「模擬」姚糊、「構(gòu)造」

現(xiàn)有一份 n + m 次投擲單個「六面」骰子的觀測數(shù)據(jù),骰子的每個面從 16 編號贸辈。觀測數(shù)據(jù)中缺失了 n 份擎淤,你手上只拿到剩余 m 次投擲的數(shù)據(jù)秸仙。幸好你有之前計算過的這 n + m 次投擲數(shù)據(jù)的平均值。

給你一個長度為 m 的整數(shù)數(shù)組 rolls 席吴,其中 rolls[i] 是第 i 次觀測的值。同時給你兩個整數(shù) meann 柬姚。

返回一個長度為 n 的數(shù)組量承,包含所有缺失的觀測數(shù)據(jù)穴店,且滿足這 n + m 次投擲的平均值是 mean

如果存在多組符合要求的答案卦洽,只需要返回其中任意一組即可斜棚。如果不存在答案弟蚀,返回一個空數(shù)組。

k 個數(shù)字的 平均值 為這些數(shù)字求和后再除以 k 昧绣。

注意 mean 是一個整數(shù),所以 n + m 次投擲的總和需要被 n + m 整除夜畴。

示例 1:

輸入:rolls = [3,2,4,3], mean = 4, n = 2

輸出:[6,6]

解釋:所有 n + m 次投擲的平均值是 (3 + 2 + 4 + 3 + 6 + 6) / 6 = 4 贪绘。

示例 2:

輸入:rolls = [1,5,6], mean = 3, n = 4

輸出:[2,3,2,2]

解釋:所有 n + m 次投擲的平均值是 (1 + 5 + 6 + 2 + 3 + 2 + 2) / 7 = 3 央碟。

示例 3:

輸入:rolls = [1,2,3,4], mean = 6, n = 4

輸出:[]

解釋:無論丟失的 4 次數(shù)據(jù)是什么,平均值都不可能是 6 亿虽。

示例 4:

輸入:rolls = [1], mean = 3, n = 1

輸出:[5]

解釋:所有 n + m 次投擲的平均值是 (1 + 5) / 2 = 3 洛勉。

提示:

  • m == rolls.length
  • 1 <= n, m <= 10^5
  • 1 <= rolls[i], mean <= 6

構(gòu)造

根據(jù)題意收毫,我們需要構(gòu)造長度為 n 的序列 ans氓涣,使得 ansrolls 并集的平均值為 mean

由于最終的平均值 mean 已知引润,我們可以直接算得兩序列之和為 t = (m + n) \times mean

使用 t 減去 \sum_{i = 0}^{m}rolls[i] 可得 \sum_{i = 0}^{n}ans[i]议慰。我們知道一個長度為 n 的有效序列的元素和范圍為 [n, 6 \times n](骰子編號為 [1,6])别凹,根據(jù) \sum_{i = 0}^{m}rolls[i][n, 6 \times n] 關(guān)系進行分情況討論:

  • 如果 \sum_{i = 0}^{n}ans[i] 不落在 [n, 6 \times n] 范圍內(nèi)炉菲,無解坤溃,直接返回空數(shù)組;

  • 如果 \sum_{i = 0}^{m} rool[i] 落在 [n, 6 \times n] 范圍內(nèi)薪介,有解汁政,此時嘗試構(gòu)造一個合法的 ans : 起始使用 \left \lfloor \frac{\sum_{i = 0}^{n}ans[i]}{n} \right \rfloor 填充 ans,若 \left \lfloor \frac{\sum_{i = 0}^{n}ans[i]}{n} \right \rfloor \times n < \sum_{i = 0}^{n}ans[i]勺鸦,計算兩者差異值 d祝旷,并嘗試將 d 分攤到前 dans[i] 上(該過程一定可以順利進行)嘶窄。

代碼:

class Solution {
    public int[] missingRolls(int[] rolls, int mean, int n) {
        int m = rolls.length, cnt = m + n;
        int t = mean * cnt;
        for (int i : rolls) t -= i;
        if (t < n || t > 6 * n) return new int[0];
        int[] ans = new int[n];
        Arrays.fill(ans, t / n);
        if (t / n * n < t) {
            int d = t - (t / n * n), idx = 0;
            while (d-- > 0) ans[idx++]++;
        }
        return ans;
    }
}
  • 時間復雜度:O(m + n)
  • 空間復雜度:O(n)

最后

這是我們「刷穿 LeetCode」系列文章的第 No.2028 篇柄冲,系列開始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道題目漓拾,部分是有鎖題阁最,我們將先把所有不帶鎖的題目刷完速种。

在這個系列文章里面配阵,除了講解解題思路以外示血,還會盡可能給出最為簡潔的代碼。如果涉及通解還會相應的代碼模板瘫拣。

為了方便各位同學能夠電腦上進行調(diào)試和提交代碼,我建立了相關(guān)的倉庫:https://github.com/SharingSource/LogicStack-LeetCode 麸拄。

在倉庫地址里感帅,你可以看到系列文章的題解鏈接地淀、系列文章的相應代碼、LeetCode 原題鏈接和其他優(yōu)選題解帮毁。

更多更全更熱門的「筆試/面試」相關(guān)資料可訪問排版精美的 合集新基地 ????

本文由mdnice多平臺發(fā)布

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末黔牵,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子猾浦,更是在濱河造成了極大的恐慌,老刑警劉巖金赦,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件夹抗,死亡現(xiàn)場離奇詭異纵竖,居然都是意外死亡杏愤,警方通過查閱死者的電腦和手機珊楼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門度液,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事照宝【淇” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵剂碴,是天一觀的道長忆矛。 經(jīng)常有香客問我请垛,道長,這世上最難降的妖魔是什么宗收? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任混稽,我火速辦了婚禮匈勋,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘各淀。我一直安慰自己诡挂,他們只是感情好临谱,可當我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布悉默。 她就那樣靜靜地躺著苟穆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪跟磨。 梳的紋絲不亂的頭發(fā)上攒盈,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天,我揣著相機與錄音僵蛛,去河邊找鬼迎变。 笑死衣形,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的泪电。 我是一名探鬼主播,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼相速,長吁一口氣:“原來是場噩夢啊……” “哼突诬!你這毒婦竟也來了芜繁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤骏令,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后铡俐,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡妥粟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年审丘,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片勾给。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡滩报,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出播急,到底是詐尸還是另有隱情脓钾,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布桩警,位于F島的核電站可训,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏生真。R本人自食惡果不足惜沉噩,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一柱蟀、第九天 我趴在偏房一處隱蔽的房頂上張望长已。 院中可真熱鬧术瓮,春花似錦、人聲如沸辜伟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽枚赡。三九已至,卻和暖如春顽铸,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背践剂。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留巩螃,地道東北人避乏。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像铆帽,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子愧驱,可洞房花燭夜當晚...
    茶點故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容