<ruby id="9ue20"></ruby>

  1. 
    

      国产午夜福利免费入口,国产日韩综合av在线,精品久久人人妻人人做精品,蜜臀av一区二区三区精品,亚洲欧美中文日韩在线v日本,人妻av中文字幕无码专区 ,亚洲精品国产av一区二区,久久精品国产清自在天天线
      網易首頁 > 網易號 > 正文 申請入駐

      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.

      相關推薦
      熱點推薦
      中國公司突然量產載人機甲,整個硅谷都沉默了

      中國公司突然量產載人機甲,整個硅谷都沉默了

      林子說事
      2026-05-13 11:42:50
      復仇戰火力全開!石宇奇2-0橫掃前世界第2,泰國公開賽首戰告捷

      復仇戰火力全開!石宇奇2-0橫掃前世界第2,泰國公開賽首戰告捷

      釘釘陌上花開
      2026-05-13 13:19:11
      尼日爾撕毀4億美元合同,并驅逐中方高管,我方暗藏后手漂亮反擊

      尼日爾撕毀4億美元合同,并驅逐中方高管,我方暗藏后手漂亮反擊

      詭譎怪談
      2025-04-30 22:17:42
      廣州地鐵多個新建站點涉及違規用地,部門回應來了

      廣州地鐵多個新建站點涉及違規用地,部門回應來了

      南方都市報
      2026-05-13 21:50:28
      別只盯特朗普的專機,魯比奧還是來了,釋放比訪問更重要的信號!

      別只盯特朗普的專機,魯比奧還是來了,釋放比訪問更重要的信號!

      阿天愛旅行
      2026-05-13 15:04:22
      韓國這一天:孫藝珍老了,玄彬大臉盤子認不出,金高銀贏麻了

      韓國這一天:孫藝珍老了,玄彬大臉盤子認不出,金高銀贏麻了

      星宿影視鴨
      2026-05-09 11:24:10
      黃夏蕙交代鼎爺最新情況,契仔李泳漢被踢爆講大話兩句揭辛酸內情

      黃夏蕙交代鼎爺最新情況,契仔李泳漢被踢爆講大話兩句揭辛酸內情

      粵睇先生
      2026-05-13 23:30:03
      中方不接待日本政客,高市換招數了,日本考察團將抵華,陣容龐大

      中方不接待日本政客,高市換招數了,日本考察團將抵華,陣容龐大

      斷翼的鳥兒
      2026-05-12 19:24:27
      亞運會名單公布!孫穎莎領銜,陳幸同意外落選,陳熠入選引爭議

      亞運會名單公布!孫穎莎領銜,陳幸同意外落選,陳熠入選引爭議

      體育就你秀
      2026-05-13 09:48:17
      趕在中方接機前,特朗普調整隨行商界陣容,英偉達第一個被踢出局

      趕在中方接機前,特朗普調整隨行商界陣容,英偉達第一個被踢出局

      霽寒飄雪
      2026-05-13 14:28:36
      劉亦菲迪士尼被偶遇,皮膚白到會發光,網友笑稱:“公主回家了”

      劉亦菲迪士尼被偶遇,皮膚白到會發光,網友笑稱:“公主回家了”

      韓小娛
      2026-05-13 15:56:54
      新能源汽車維修遭壟斷,4400萬車主選擇權被鎖

      新能源汽車維修遭壟斷,4400萬車主選擇權被鎖

      第一財經資訊
      2026-05-11 16:52:11
      英偉達掃貨!鴻海全光CPO交換機“一機不剩” 出貨預期同步上調

      英偉達掃貨!鴻海全光CPO交換機“一機不剩” 出貨預期同步上調

      財聯社
      2026-05-13 12:18:10
      “1035元4只皮皮蝦”事件最新進展:涉事出租車司機徐某已被開除;當事顧客稱被網暴

      “1035元4只皮皮蝦”事件最新進展:涉事出租車司機徐某已被開除;當事顧客稱被網暴

      極目新聞
      2026-05-13 13:15:20
      “今年更像97/98年,而非2000年,明年可能跌30-50%”華爾街科技老將最新研判美股AI牛市

      “今年更像97/98年,而非2000年,明年可能跌30-50%”華爾街科技老將最新研判美股AI牛市

      華爾街見聞官方
      2026-05-13 17:29:38
      國家一級女演員陳麗云被逮捕!

      國家一級女演員陳麗云被逮捕!

      許三歲
      2026-03-28 09:24:30
      帕金斯:詹姆斯、庫里和杜蘭特再也無法拿到NBA總冠軍了

      帕金斯:詹姆斯、庫里和杜蘭特再也無法拿到NBA總冠軍了

      懂球帝
      2026-05-13 11:17:04
      關緊門窗!8-9級雷暴大風將至!湖北應急發布最新提醒

      關緊門窗!8-9級雷暴大風將至!湖北應急發布最新提醒

      極目新聞
      2026-05-13 15:23:07
      本賽季意甲俱樂部歐戰收入:亞特蘭大7510萬歐元第1,國米第2

      本賽季意甲俱樂部歐戰收入:亞特蘭大7510萬歐元第1,國米第2

      懂球帝
      2026-05-13 22:38:11
      父母若是有以下7種疾病,子女基本都會遺傳,不少人并不清楚!

      父母若是有以下7種疾病,子女基本都會遺傳,不少人并不清楚!

      健康之光
      2026-03-03 17:35:03
      2026-05-14 00:07:00
      moonfdd incentive-icons
      moonfdd
      福大大架構師每日一題
      1223文章數 68關注度
      往期回顧 全部

      科技要聞

      騰訊一季度營收1964.6億元 同比增9%

      頭條要聞

      女子閃婚獲千萬房產99%份額閃離后起訴分割 法院判了

      頭條要聞

      女子閃婚獲千萬房產99%份額閃離后起訴分割 法院判了

      體育要聞

      14年半,74萬,何冰嬌沒選那條更安穩的路

      娛樂要聞

      白鹿掉20萬粉,網友為李晨鳴不平

      財經要聞

      美國總統特朗普抵達北京

      汽車要聞

      C級純電轎跑 吉利銀河"TT"申報圖來了

      態度原創

      教育
      時尚
      健康
      家居
      藝術

      教育要聞

      1980年中考:6加6除6,等于多少?

      專欄 | 進入心流后,不被洪流裹挾

      干細胞能讓人“返老還童”嗎

      家居要聞

      內在自敘,無域有方

      藝術要聞

      乾隆 “翻車” 名畫刷屏!

      無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 亚洲天堂网在线播放| 欧美另类图区清纯亚洲| 亚洲无av在线中文字幕| 久章草这里只有精品| 国产精品123| 亚洲国产一区在线播放| 国产极品美女高潮无套| 影音先锋一区二区三区视频| 小嫩批日出水无码视频免费| 国产人妻精品一区二区三区| 久爱www人成免费网站| 国产精品亚洲二区亚瑟| 国产福利在线观看免费第一福利 | 人妻?制服?丝袜| 深田えいみ禁欲后被隔壁人妻| 亚洲人成电影网站 久久影视| 日韩欧美在线观看| 大香蕉综合网| 国产一区二区性感自拍| 午夜福利高清在线观看| 亚洲无av在线中文字幕| 国产精品无码久久av不卡| 蜜桃av噜噜一区二区三区| 老色鬼在线精品视频在线观看| 久久久久久久97| 国产有奶水哺乳期无码avav| 中文字幕成人精品久久不卡| 亚洲熟女VS国产对比| av总站| 青青热在线精品视频免费观看| 日本精品久久中文字幕| 女同综合网| 熟妇人妻中文字幕无码老熟妇| 国产午夜福利精品视频| 18av千部影片| 人妻少妇被猛烈进入中文字幕| 人妻精品影视在线观看| 亚洲人成日韩中文字幕无卡| 国产jizz| 亚洲精品无码久久一线| 日本无人区一区二区三区|