<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-29:二進制交換后的最大分數。用go語言,給定一個長度為 n 的整數數組 nums 和一個長度相同的二進制字符串 s。 初始得分為 0。對

      0
      分享至

      2026-04-29:二進制交換后的最大分數。用go語言,給定一個長度為 n 的整數數組 nums 和一個長度相同的二進制字符串 s。

      初始得分為 0。對于字符串中每個位置上字符為 '1' 的下標 i,分數都會加上 nums[i]。

      你可以進行任意次操作,也可以一次都不做。每次操作時,可以選擇一個位置 i(0 <= i < n - 1),要求 s[i] = '0' 且 s[i + 1] = '1',然后把這兩個字符交換。

      請計算并返回經過這些操作后,能夠得到的最高分數。

      n == nums.length == s.length。

      1 <= n <= 100000。

      1 <= nums[i] <= 1000000000。

      s[i] 是 '0' 或 '1'。

      輸入: nums = [2,1,5,2,3], s = "01010"。

      輸出: 7。

      解釋:

      我們可以執行以下交換操作:

      在下標 i = 0 處交換:"01010" 變為 "10010"

      在下標 i = 2 處交換:"10010" 變為 "10100"

      下標 0 和 2 包含 '1',貢獻的分數為 nums[0] + nums[2] = 2 + 5 = 7。這是可以獲得的最大分數。

      題目來自力扣3781。

      解題過程詳細解析

      先明確核心規則

      1. 1. 初始分數:所有s中為1的位置,直接加對應nums值;

      2. 2. 允許操作:只能交換相鄰的01(要求左邊是0、右邊是1),可以交換任意次;

      3. 3. 本質:1可以向左移動到任意0的位置(因為多次相鄰交換能讓1持續左移),我們的目標是:讓1停在數值最大的位置上,最大化總分。

      輸入示例:
      nums = [2, 1, 5, 2, 3]s = "0 1 0 1 0"(下標0~4)
      初始s1的位置:下標1、下標3。

      一、整體解題思路

      我們從右向左遍歷數組(從最后一個元素往第一個元素走),配合最小堆實現最優選擇:

      1. 1. 最小堆的作用:存儲當前已選中的1對應的數值,堆頂永遠是最小的那個數;

      2. 2. 遍歷規則:

      • ? 遇到s[i]='1':必須選這個位置,數值加入總分,同時放入最小堆;

      • ? 遇到s[i]='0':這個位置可以放一個1(因為1能左移過來),如果當前位置的數值 > 堆里最小的數,就替換:用更大的數替換堆里最小的數,總分也同步更新(只加差值);

      3. 最終堆里保留的就是k個最大的數(k是原字符串中1的個數),總和就是最大分數。

      二、分步驟詳細過程(對應示例遍歷)

      原數組:下標0(2)、下標1(1)、下標2(5)、下標3(2)、下標4(3)
      原字符串:0、1、0、1、0
      原1的數量:2個(最終必須選2個位置放1)
      遍歷方向:從下標4 → 下標0

      步驟1:遍歷下標4(數值3,s='0')

      • ? 當前堆為空,沒有可以替換的數,不做任何操作

      步驟2:遍歷下標3(數值2,s='1')
      • ? 這是必須選的1,總分 +=2(當前總分=2);

      • ? 把數值2放入最小堆,堆:[2](堆頂是2)。

      步驟3:遍歷下標2(數值5,s='0')
      • ? 這是0的位置,可以放1;

      • ? 比較:當前數5 > 堆頂最小值2;

      • ? 執行替換:總分 += 5-2 =3(總分=2+3=5);

      • ? 用5替換堆頂的2,堆調整為[5](堆頂是5)。

      步驟4:遍歷下標1(數值1,s='1')
      • ? 這是必須選的1,總分 +=1(當前總分=5+1=6);

      • ? 把數值1放入最小堆,堆:[1,5](堆頂是最小的1)。

      步驟5:遍歷下標0(數值2,s='0')
      • ? 這是0的位置,可以放1;

      • ? 比較:當前數2 > 堆頂最小值1;

      • ? 執行替換:總分 +=2-1=1(總分=6+1=7);

      • ? 用2替換堆頂的1,堆調整為[2,5](堆頂是2)。

      三、最終結果

      遍歷結束,總分=7,和題目示例輸出完全一致。
      最終選中的兩個位置:下標0(2)、下標2(5),總和2+5=7。

      四、復雜度分析 1. 時間復雜度

      • ? 遍歷數組:O(n)(n是數組長度,每個元素僅遍歷一次);

      • ? 堆操作:每個元素最多入堆、出堆、調整堆各一次,堆的大小最大為k(原1的個數),單次堆操作O(logk)

      • ? 總時間復雜度:O(n log n)(logk ≤ logn,是最優可接受復雜度)。

      2. 額外空間復雜度
      • ? 僅使用了一個最小堆存儲元素,堆的最大空間為k(原1的個數);

      • ? 總額外空間復雜度:O(n)(最壞情況全是1,堆大小為n)。

      總結
      1. 1. 核心邏輯:從右向左遍歷,用最小堆動態保留最大的k個數值(k=原1的數量);

      2. 2. 操作本質:利用規則讓1左移,替換掉更小的數值,實現分數最大化;

      3. 3. 復雜度:時間O(n log n),空間O(n),能高效處理n≤1e5的大數據量。

      Go完整代碼如下:

      package main

      import (
      "container/heap"
      "fmt"
      "sort"
      )

      func maximumScore(nums []int, s string) (ans int64) {
      h := hp{}
      // Traverse from the end to the beginning
      for i := len(nums) - 1; i >= 0; i-- {
      x := nums[i]
      if s[i] == '1' {
      ans += int64(x)
      heap.Push(&h, x)
      } elseif h.Len() > 0 && x > h.IntSlice[0] {
      ans += int64(x - h.IntSlice[0])
      h.IntSlice[0] = x
      heap.Fix(&h, 0)
      }
      }
      return
      }

      type hp struct{ sort.IntSlice }

      func (h *hp) Push(v any) { h.IntSlice = append(h.IntSlice, v.(int)) }
      func (hp) Pop() (_ any) { return }

      func main() {
      nums := []int{2, 1, 5, 2, 3}
      s := "01010"
      result := maximumScore(nums, s)
      fmt.Println(result)
      }

      Python完整代碼如下:

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

      import heapq

      def maximumScore(nums, s):
      ans = 0
      h = [] # min heap
      # Traverse from the end to the beginning
      for i in range(len(nums) - 1, -1, -1):
      x = nums[i]
      if s[i] == '1':
      ans += x
      heapq.heappush(h, x)
      elif h and x > h[0]:
      ans += x - h[0]
      heapq.heapreplace(h, x) # pop smallest and push x
      return ans

      def main():
      nums = [2, 1, 5, 2, 3]
      s = "01010"
      result = maximumScore(nums, s)
      print(result)

      if __name__ == "__main__":
      main()

      C++完整代碼如下:

        
      




      using namespace std;

      long long maximumScore(vector& nums, string s) {
      long long ans = 0;
      // Min heap using greater
      priority_queue, greater> pq;

      // Traverse from the end to the beginning
      for (int i = nums.size() - 1; i >= 0; i--) {
      int x = nums[i];
      if (s[i] == '1') {
      ans += x;
      pq.push(x);
      } elseif (!pq.empty() && x > pq.top()) {
      ans += x - pq.top();
      pq.pop();
      pq.push(x);
      }
      }
      return ans;
      }

      int main() {
      vector nums = {2, 1, 5, 2, 3};
      string s = "01010";
      long long result = maximumScore(nums, s);
      cout << result << 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.

      相關推薦
      熱點推薦
      北京一男子掏空積蓄,湊500萬入股中國人壽,20年后分紅嚇人

      北京一男子掏空積蓄,湊500萬入股中國人壽,20年后分紅嚇人

      一刀故事
      2025-05-14 13:32:29
      西安市人大常委會辦公廳原一級巡視員賀簡政接受審查調查

      西安市人大常委會辦公廳原一級巡視員賀簡政接受審查調查

      界面新聞
      2026-05-15 19:24:15
      特朗普離開現場這一幕,中國軍人盡顯英姿颯爽!再次刷屏全世界

      特朗普離開現場這一幕,中國軍人盡顯英姿颯爽!再次刷屏全世界

      軍武咖
      2026-05-15 15:56:16
      大快人心!公安部終于出手,鄭麗文太無辜,但何止她一人受害

      大快人心!公安部終于出手,鄭麗文太無辜,但何止她一人受害

      椰青美食分享
      2026-05-14 17:17:59
      中藥又立功!蒲公英能在48小時內殺死98%的癌細胞?醫生說出實情

      中藥又立功!蒲公英能在48小時內殺死98%的癌細胞?醫生說出實情

      垚垚分享健康
      2026-05-15 08:52:25
      多地網友拍到的“不明飛行物”到底是啥?(2026·05·14)

      多地網友拍到的“不明飛行物”到底是啥?(2026·05·14)

      新京報
      2026-05-14 17:34:20
      天氣 | 局地中到大雨!天津降雨要來了!

      天氣 | 局地中到大雨!天津降雨要來了!

      天津廣播
      2026-05-15 19:13:57
      世界杯版權費曝光!美國9.45億第一,英國3.5億第二,中國殺價

      世界杯版權費曝光!美國9.45億第一,英國3.5億第二,中國殺價

      史海流年號
      2026-05-15 17:42:27
      槍聲響起!小馬科斯大勢已去,軍方緊急站隊,中菲關系或迎轉機

      槍聲響起!小馬科斯大勢已去,軍方緊急站隊,中菲關系或迎轉機

      精彩聚焦瞬間
      2026-05-15 10:48:00
      5月15日早評:滬指失守4200點,資金進攻方向大幅切換!

      5月15日早評:滬指失守4200點,資金進攻方向大幅切換!

      小白鴿財經
      2026-05-15 08:57:43
      博士肄業生把985院長拉下馬:同濟剛免職,又有三所高校被爆造假

      博士肄業生把985院長拉下馬:同濟剛免職,又有三所高校被爆造假

      妍妍教育日記
      2026-05-13 09:55:04
      終于知道宇樹科技的王興興為什么推出一個不成熟的機甲了。

      終于知道宇樹科技的王興興為什么推出一個不成熟的機甲了。

      荊楚寰宇文樞
      2026-05-13 23:24:45
      用戶向豆包咨詢機票退票手續費,導致損失600元,并向法院起訴豆包運營公司,豆包相關負責人:案例已處置,涉及金融、退款等會有風險提示

      用戶向豆包咨詢機票退票手續費,導致損失600元,并向法院起訴豆包運營公司,豆包相關負責人:案例已處置,涉及金融、退款等會有風險提示

      極目新聞
      2026-05-14 16:30:33
      奇瑞董事長尹同躍:已為智界投入200多億專項資金,智界V9累計小訂突破4萬輛

      奇瑞董事長尹同躍:已為智界投入200多億專項資金,智界V9累計小訂突破4萬輛

      新浪財經
      2026-05-15 15:21:10
      雷霆隊未來5大奪冠勁敵!馬刺居首,湖人在列,兩大魚腩或迎崛起

      雷霆隊未來5大奪冠勁敵!馬刺居首,湖人在列,兩大魚腩或迎崛起

      鳴哥說體育
      2026-05-15 19:27:47
      普通人最大的消費陷阱:換車

      普通人最大的消費陷阱:換車

      細說職場
      2026-05-15 11:09:45
      留也不是,扔也不是,中國引進的24架俄制蘇-35戰斗機現狀

      留也不是,扔也不是,中國引進的24架俄制蘇-35戰斗機現狀

      蜉蝣說
      2026-05-09 11:36:32
      支付寶回應關閉支付功能后仍被扣款捐贈184萬:不排除涉嫌違法犯罪的可能,正在向警方尋求幫助

      支付寶回應關閉支付功能后仍被扣款捐贈184萬:不排除涉嫌違法犯罪的可能,正在向警方尋求幫助

      澎湃新聞
      2026-05-15 09:56:26
      世界波!劉雨希掃射建功,破U17亞洲杯11年魔咒,張琳艷后首人

      世界波!劉雨希掃射建功,破U17亞洲杯11年魔咒,張琳艷后首人

      奧拜爾
      2026-05-14 20:21:24
      從今天起,中國不再需要日本道歉!這覺醒,來自3500萬亡魂的重量

      從今天起,中國不再需要日本道歉!這覺醒,來自3500萬亡魂的重量

      北緯的咖啡豆
      2026-05-15 09:45:32
      2026-05-15 19:56:49
      moonfdd incentive-icons
      moonfdd
      福大大架構師每日一題
      1227文章數 68關注度
      往期回顧 全部

      科技要聞

      兩年聯姻一地雞毛,傳蘋果OpenAI瀕臨決裂

      頭條要聞

      美媒詢問是否認為現在的美國是"衰落國家" 外交部回應

      頭條要聞

      美媒詢問是否認為現在的美國是"衰落國家" 外交部回應

      體育要聞

      德約科維奇買的球隊,從第6級聯賽升入法甲

      娛樂要聞

      方媛為何要來《桃花塢6》沒苦硬吃?

      財經要聞

      騰訊掉隊,馬化騰戳破真相

      汽車要聞

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

      態度原創

      房產
      親子
      旅游
      藝術
      公開課

      房產要聞

      海口商業也是出息了!“友誼陽光城”,殺入北京最牛商街!

      親子要聞

      這可是你自愿吃的啊~

      旅游要聞

      首屆中國新文創市集暨潮玩游園會打造文旅消費新場景

      藝術要聞

      敦煌挖出王羲之書法!全卷2000字清晰如新!

      公開課

      李玫瑾:為什么性格比能力更重要?

      無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 亚洲欧美日产综合一区二区三区| 久久精品无码鲁网中文电影| 国产人伦激情在线观看| 男人天堂亚洲天堂女人天堂| 日韩一区二区网站| 久久99久久99精品免观看女同| 日本高清免费毛片久久| 国产精品午夜福利视频| 成人A片在线观看| 欧美黑吊大战白妞| xxxx丰满少妇高潮| 三级片网站在线观看| 丁香色欲久久久久久综合网| 首页 综合国产 亚洲 丝袜日本| 中文字幕人妻熟女在线| 波多野结衣午夜影院| 久久人人爽人人人人爽av| 国产主播在线影视| a久久久久一级毛片护士免费| 亚洲va久久久噜噜噜久久狠狠| 国产在线欧美日韩精品一区| 性xxxxbbbb欧美熟妇| 91小电影| 亚洲乱码国产乱码精品精| 亚洲AV福利天堂一区二区三| 亚洲国产精品三级视频| 蜜臀色欲AV无码人妻| 国产一区二区三区精品自拍| 中文字幕一区三级久久日本| 亚洲AV成人无码久久精品四虎| 99精品国产兔费观看久久99 | 亚洲伊人成综合网2222| 久久99热精品免费观看6| 国产日韩精品秘 入口| 欧美日韩国产成人在线观看| 日韩精品亚洲专区在线观看| 国产视频Chinese| 四虎网址| 亚洲精品成人中文网| 国产人成无码视频在线| 欧美日韩亚洲国内综合网香蕉|