<tr id="tp1vn"><td id="tp1vn"><dl id="tp1vn"></dl></td></tr>
  1. <p id="tp1vn"></p>
  2. <sub id="tp1vn"><p id="tp1vn"></p></sub>
    <u id="tp1vn"><rp id="tp1vn"></rp></u>
    <meter id="tp1vn"></meter>
      <wbr id="tp1vn"><sup id="tp1vn"></sup></wbr>
      日韩第一页浮力,欧美a在线,中文字幕无码乱码人妻系列蜜桃 ,国产成人精品三级麻豆,国产男女爽爽爽免费视频,中文字幕国产精品av,两个人日本www免费版,国产v精品成人免费视频71pao
      網易首頁 > 網易號 > 正文 申請入駐

      2026-04-22:探索地牢的得分。用go語言,給定一個生命值上限 hp,以及兩個長度分別為 n 的正整數數組 damage 和 requiremen...

      0
      分享至

      2026-04-22:探索地牢的得分。用go語言,給定一個生命值上限 hp,以及兩個長度分別為 n 的正整數數組 damage 和 requirem)ent(下標從 1 到 n)。

      地牢中共有 n 個陷阱房間,房間編號為 1,2,…,n。你可以從某個起點開始依次進入房間,并且不能跳過任何房間;即使進入后生命值降到 0 或更低,你仍然必須繼續往下走到末尾。

      當你進入第 i 個房間時,生命值會立刻減少 damage[i]。生命值減少之后,如果你此時的剩余生命值 ≥ requirement[i],那么你在該房間獲得 1 分。

      對任意起點 j,定義 score(j) 為從房間 j 開始一路進入到房間 n(按順序不跳過),你一共能拿到的分數。

      要求你計算并返回:對所有起點 j=1 到 n,把 score(j) 加總后的結果,即 score(1)+score(2)+…+score(n)。

      1 <= hp <= 1000000000。

      1 <= n == damage.length == requirement.length <= 100000。

      1 <= damage[i], requirement[i] <= 10000。

      輸入: hp = 11, damage = [3,6,7], requirement = [4,2,5]。

      輸出: 3。

      解釋:

      score(1) = 2, score(2) = 1, score(3) = 0。總分為 2 + 1 + 0 = 3。

      例如,score(1) = 2,因為從房間 1 開始可以獲得 2 分:

      你從 11 點生命值開始。

      進入房間 1,生命值變為 11 - 3 = 8。因為 8 >= 4,你獲得 1 分。

      進入房間 2,生命值變為 8 - 6 = 2。因為 2 >= 2,你獲得 1 分。

      進入房間 3,生命值變為 2 - 7 = -5。因為 -5 < 5,你沒有獲得分數。

      題目來自力扣3771。

      代碼執行過程 第一步:初始化基礎變量

      1. 1. 數組長度 n:damage 數組的長度,示例中 n=3

      2. 2. 答案初始值:總共有 n*(n+1)/2 個「潛在得分機會」,示例中 3*4/2=6

      • ? 含義:理論上所有房間都能得分的最大總分數

      3. 前綴和數組 sum:長度為 n+1,sum[0]=0,用來存儲前i個傷害的累加值

      第二步:遍歷每個房間 i(計算該房間的無效起點數)

      代碼循環遍歷每一個房間 i,核心目的:找出「無法讓房間i得分的起點數量」,從總機會中減去。

      前綴和計算

      sum[i+1] = sum[i] + damage[i]

      • ? 代表:從第1個房間走到第i個房間,總共造成的傷害總和

      計算無效起點的閾值

      low = 走到i房間的總傷害 + requirement[i] - 生命值上限hp

      • ? 這個值的含義:起點j需要滿足「前j-1個房間的總傷害 ≥ low」,這個起點j就是無效的(走到i房間無法得分)

      篩選無效起點數量

      如果 low > 0:

      • ? 用二分查找,在已計算的前綴和中,找到第一個 ≥ low 的位置

      • ? 這個位置的數字,就是無法讓房間i得分的起點數量

      • ? 從總答案中減去這個數量

      第三步:逐房間執行(以示例詳細演示)

      示例數據:
      hp=11,damage=[3,6,7],requirement=[4,2,5],n=3
      初始答案=6,sum=[0,0,0,0]

      遍歷第1個房間(i=0)

      1. 1. 計算前綴和:sum[1] = sum[0] + 3 = 3

      2. 2. 計算閾值 low = 3 + 4 - 11 = -4

      3. 3. low ≤ 0,無無效起點,答案保持 6

      遍歷第2個房間(i=1)
      1. 1. 計算前綴和:sum[2] = sum[1] + 6 = 9

      2. 2. 計算閾值 low = 9 + 2 - 11 = 0

      3. 3. low ≤ 0,無無效起點,答案保持 6

      遍歷第3個房間(i=2)
      1. 1. 計算前綴和:sum[3] = sum[2] + 7 = 16

      2. 2. 計算閾值 low = 16 + 5 - 11 = 10

      3. 3. low > 0,二分查找前綴和 sum[0~2] = [0,3,9] 中 ≥10 的數

      • ? 沒有找到,返回位置 3

      4. 答案減去 3:6 - 3 = 3

      第四步:輸出最終結果

      最終答案=3,和題目示例完全一致。

      核心邏輯總結(最易懂版)

      1. 1. 總共有 6 個潛在得分(3個起點,最多各得2、1、0分,理論滿分6)

      2. 2. 只有第3個房間存在3個無效起點(所有起點走到這里都無法得分)

      3. 3. 總得分 = 6 - 3 = 3

      時間復雜度 & 額外空間復雜度 1. 總時間復雜度

      O(n log n)

      • ? 遍歷所有n個房間:O(n)

      • ? 每個房間執行一次二分查找:二分查找的時間是 O(log n)

      • ? 總復雜度:n 次遍歷 × 每次 log n 查找 = O(n log n)

      • ? 滿足 n≤10萬的性能要求

      2. 總額外空間復雜度

      O(n)

      • ? 只開辟了一個長度為 n+1 的前綴和數組 sum

      • ? 沒有使用其他動態增長的空間

      • ? 空間復雜度與輸入規模n成正比

      總結
      1. 1. 算法核心:貢獻法+前綴和+二分,反向計算每個房間的有效得分起點數

      2. 2. 執行過程:初始化→遍歷計算前綴和→求無效起點→扣減得到總答案

      3. 3. 時間復雜度:O(n log n)(高效處理10萬數據)

      4. 4. 空間復雜度:O(n)(僅使用前綴和數組)

      Go完整代碼如下:

      package main

      import (
      "fmt"
      "sort"
      )

      func totalScore(hp int, damage, requirement []int)int64 {
      n := len(damage)
      sum := make([]int, n+1)
      ans := n * (n + 1) / 2
      for i, req := range requirement {
      sum[i+1] = sum[i] + damage[i]
      low := sum[i+1] + req - hp
      if low > 0 {
      ans -= sort.SearchInts(sum[:i+1], low)
      }
      }
      returnint64(ans)
      }

      func main() {
      hp := 11
      damage := []int{3, 6, 7}
      requirement := []int{4, 2, 5}
      result := totalScore(hp, damage, requirement)
      fmt.Println(result)
      }

      Python完整代碼如下:

      # -*-coding:utf-8-*-

      import bisect

      def totalScore(hp, damage, requirement):
      n = len(damage)
      prefix_sum = [0] * (n + 1)
      ans = n * (n + 1) // 2

      for i, req in enumerate(requirement):
      prefix_sum[i + 1] = prefix_sum[i] + damage[i]
      low = prefix_sum[i + 1] + req - hp
      if low > 0:
      # 在 prefix_sum[0:i+1] 中查找第一個 >= low 的位置
      pos = bisect.bisect_left(prefix_sum, low, 0, i + 1)
      ans -= pos

      return ans

      if __name__ == "__main__":
      hp = 11
      damage = [3, 6, 7]
      requirement = [4, 2, 5]
      result = totalScore(hp, damage, requirement)
      print(result)

      C++完整代碼如下:

        
      



      long long totalScore(int hp, const std::vector& damage, const std::vector& requirement) {
      int n = damage.size();
      std::vector sum(n + 1, 0);
      long long ans = 1LL * n * (n + 1) / 2;

      for (int i = 0; i < n; ++i) {
      sum[i + 1] = sum[i] + damage[i];
      int low = sum[i + 1] + requirement[i] - hp;
      if (low > 0) {
      // 在 sum[0..i] 中查找第一個 >= low 的位置
      auto it = std::lower_bound(sum.begin(), sum.begin() + i + 1, low);
      ans -= (it - sum.begin());
      }
      }
      return ans;
      }

      int main() {
      int hp = 11;
      std::vector damage = {3, 6, 7};
      std::vector requirement = {4, 2, 5};
      long long result = totalScore(hp, damage, requirement);
      std::cout << result << std::endl;
      return0;
      }

      我們相信人工智能為普通人提供了一種“增強工具”,并致力于分享全方位的AI知識。在這里,您可以找到最新的AI科普文章、工具評測、提升效率的秘籍以及行業洞察。 歡迎關注“福大大架構師每日一題”,發消息可獲得面試資料,讓AI助力您的未來發展。

      特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

      Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

      相關推薦
      熱點推薦
      這是我見過最美最虎的服務員

      這是我見過最美最虎的服務員

      貴圈真亂
      2026-05-16 10:54:29
      馬斯克黃仁勛在空軍一號熱聊照曝光,喝了可樂,皮衣黃疑似用三星

      馬斯克黃仁勛在空軍一號熱聊照曝光,喝了可樂,皮衣黃疑似用三星

      譯言
      2026-05-16 10:38:32
      太激動!黃仁勛喝了杯蜜雪冰城,CEO馬上發朋友圈“給顯卡降溫”

      太激動!黃仁勛喝了杯蜜雪冰城,CEO馬上發朋友圈“給顯卡降溫”

      火山詩話
      2026-05-16 06:18:41
      歌手溫嵐被緊急送入ICU,主辦方宣布多場演出延期

      歌手溫嵐被緊急送入ICU,主辦方宣布多場演出延期

      紅星新聞
      2026-05-15 16:35:31
      這一刻我才明白:為什么男人都愛看籃球直播,而不愿看馬拉松直播

      這一刻我才明白:為什么男人都愛看籃球直播,而不愿看馬拉松直播

      馬拉松跑步健身
      2026-05-15 19:59:38
      黃仁勛去吃炸醬面!大熱天穿皮衣,站在門口大口吃面條

      黃仁勛去吃炸醬面!大熱天穿皮衣,站在門口大口吃面條

      西樓知趣雜談
      2026-05-15 13:59:38
      黃仁勛身價千億卻40年不離婚,背后是這位工資比他高的全職太太

      黃仁勛身價千億卻40年不離婚,背后是這位工資比他高的全職太太

      觀史搜尋著
      2026-05-16 05:16:26
      美加墨世界杯版權落定,談判最后24小時發生了什么?

      美加墨世界杯版權落定,談判最后24小時發生了什么?

      第一財經資訊
      2026-05-15 23:08:17
      日本自衛隊,該去捕熊了

      日本自衛隊,該去捕熊了

      樞密院十號
      2026-05-15 20:05:07
      馬爾代夫發生史上最嚴重單次潛水事故:5名游客身亡,包括海洋生物學家、前潛水教練等;遺體在約50米深水下洞穴被發現,疑因“氧氣中毒”

      馬爾代夫發生史上最嚴重單次潛水事故:5名游客身亡,包括海洋生物學家、前潛水教練等;遺體在約50米深水下洞穴被發現,疑因“氧氣中毒”

      魯中晨報
      2026-05-16 09:30:04
      雷老板昨夜吃大席,股票今天遇大跌

      雷老板昨夜吃大席,股票今天遇大跌

      不主流講話
      2026-05-15 16:10:40
      拖進搶七!活塞大勝騎士追到3-3 哈登23+7+8失誤坎寧安21+8

      拖進搶七!活塞大勝騎士追到3-3 哈登23+7+8失誤坎寧安21+8

      醉臥浮生
      2026-05-16 09:45:52
      返回美國途中,特朗普正式回應對臺軍售問題,非常不一般

      返回美國途中,特朗普正式回應對臺軍售問題,非常不一般

      kio魚
      2026-05-15 23:43:30
      驚現夜市鬧?。?0歲高顏值少婦當眾脫內褲套男子嘴,丈夫全程目睹

      驚現夜市鬧劇!30歲高顏值少婦當眾脫內褲套男子嘴,丈夫全程目睹

      老貓觀點
      2026-05-15 07:34:04
      時隔9年重返西決!文班19+6+3封蓋打爆雙塔,太子32分客場擒狼

      時隔9年重返西決!文班19+6+3封蓋打爆雙塔,太子32分客場擒狼

      釘釘陌上花開
      2026-05-16 12:16:54
      后臺最硬女神探,遇到破不了的案,直接冤枉路人死刑!

      后臺最硬女神探,遇到破不了的案,直接冤枉路人死刑!

      莫地方
      2026-05-16 01:40:03
      后悔萬分?。〈髲S員工哭訴被精神小妹“崩走”3000元,評論區炸鍋

      后悔萬分??!大廠員工哭訴被精神小妹“崩走”3000元,評論區炸鍋

      火山詩話
      2026-05-16 09:38:31
      四登世界杯!拉丁天后夏奇拉參賽次數,竟遠超中國男足!

      四登世界杯!拉丁天后夏奇拉參賽次數,竟遠超中國男足!

      田先生籃球
      2026-05-15 11:33:25
      “任何來自中國的物品”都不準許帶上空軍一號!

      “任何來自中國的物品”都不準許帶上空軍一號!

      認知決定世界
      2026-05-15 23:09:57
      西決對陣出爐:馬刺深入狼窩大勝而歸,活塞與騎士連續兩輪搶七

      西決對陣出爐:馬刺深入狼窩大勝而歸,活塞與騎士連續兩輪搶七

      燒體壇
      2026-05-16 12:16:37
      2026-05-16 13:52:49
      moonfdd incentive-icons
      moonfdd
      福大大架構師每日一題
      1229文章數 68關注度
      往期回顧 全部

      科技要聞

      漲的是車價,要的是老命

      頭條要聞

      馬爾代夫5人潛水身亡可能原因:氧氣變毒 一人拖垮全組

      頭條要聞

      馬爾代夫5人潛水身亡可能原因:氧氣變毒 一人拖垮全組

      體育要聞

      35歲坎特,干了一件這輩子最吵的事

      娛樂要聞

      張嘉譯和老婆的差距讓人心酸

      財經要聞

      造詞狂魔賈躍亭

      汽車要聞

      高爾夫GTI刷新紐北紀錄 ID. Polo GTI迎全球首秀

      態度原創

      教育
      時尚
      手機
      游戲
      家居

      教育要聞

      校慶我捐700萬被安排角落,校長:不高興坐就走,不差你這點……

      今年夏天最流行這4件T恤,減齡又好看!

      手機要聞

      CounterPoint稱三星Galaxy S26系列手機首發全球銷量增長13%

      索尼計劃為PS5添加熱門游戲排行與玩家數顯示

      家居要聞

      110㎡淡而有致的生活表達

      無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 日韩不卡在线观看视频不卡| 赣榆县| 无码国内精品久久人妻蜜桃| 黄色av网络| 日韩高清不卡免费一区二区| 国产亚洲精品美女久久久| 内射无码专区久久亚洲| 无码精品人妻一区二区三区中| 伊人偷拍| 亚洲AV无码专区首页第一页| 在线播放人妻资源| 中文字幕亚洲二| 欧美性猛交xxxx富婆| 亚洲精品乱码久久久久66| 国产乱人伦偷精品视频免下载| 蜜桃无码一区二区三区| 人妻人久久精品中文字幕| 农村欧美丰满熟妇xxxx| 日本一区二区三区中文字幕| 成人18禁深夜福利网站app免费| 中文字幕亚洲制服在线看| 波多野结衣无码视频| 免费无遮挡无码永久视频| 精品深夜AV无码一区二区| 午夜成人影片av| 一区二区三区在线 | 欧洲 | 国产亚洲精品欧洲在线视频| 91精品人人妻人人澡人人爽人人精东影业| 国产激爽大片高清在线观看| 日韩内射美女片在线观看网站| 黑人大荫蒂高潮视频| 深夜福利啪啪片| 真实国产乱子伦精品一区二区三区| 野花香社区在线视频观看播放| 亚洲综合天堂网| 爆乳熟妇一区二区三区霸乳| 久久久久久美女| 国产口爆吞精在线视频| 日韩中文字幕一区二区高清| 首页 动漫 亚洲 欧美 日韩| 偷炮少妇宾馆半推半就激情|