<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
      網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

      2026-05-03:避免禁用值的最小交換次數(shù)。用go語言,給定兩個長度為 n 的整數(shù)數(shù)組 nums 和 forbidden。你需要通過反復(fù)執(zhí)行交換操作來調(diào)整

      0
      分享至

      2026-05-03:避免禁用值的最小交換次數(shù)。用go語言,給定兩個長度為 n 的整數(shù)數(shù)組 nums 和 forbidden。你需要通過反復(fù)執(zhí)行交換操作來調(diào)整 nums,使得對每個位置 i,都滿足 nums[i] ≠ forbidden[i]。

      交換操作的規(guī)則是:你可以任意次選擇兩個不同的下標(biāo) i 和 j,然后交換 nums[i] 和 nums[j] 的值。交換次數(shù)可以是零次。

      目標(biāo)是:在所有能滿足“每個位置 i 的 nums[i 都不能等于 forbidden[i]”的調(diào)整方案中,找出所需交換次數(shù)的最小值;如果不存在任何辦法能做到上述條件,則返回 -1。

      1 <= n == nums.length == forbidden.length <= 100000。

      1 <= nums[i], forbidden[i] <= 1000000000。

      輸入: nums = [1,2,3], forbidden = [3,2,1]。

      輸出: 1。

      解釋:

      一種最優(yōu)的交換方案:

      選擇 nums 中下標(biāo) i = 0 和 j = 1,交換它們,得到 nums = [2, 1, 3]。

      交換完成后,對于每個下標(biāo) i,nums[i] 都不等于 forbidden[i]。

      題目來自力扣3785。

      解題過程+復(fù)雜度分析 一、先明確題目核心要求

      1. 1. 給定兩個等長數(shù)組numsforbidden,長度為n

      2. 2. 操作:任意交換 nums 中兩個不同下標(biāo)的元素,可以交換無數(shù)次。

      3. 3. 目標(biāo):調(diào)整后每個位置 i 都滿足 nums[i] ≠ forbidden[i],求最少交換次數(shù);如果做不到,返回 -1。

      4. 4. 示例:nums=[1,2,3]forbidden=[3,2,1]→ 最少交換 1 次。

      二、分步驟詳細(xì)解題過程 步驟1:判斷是否存在合法方案(無解判斷)

      我們首先要確定:能不能通過交換讓所有位置都不沖突
      判斷規(guī)則:
      nums里的所有數(shù)字 +forbidden里的所有數(shù)字合并統(tǒng)計每個數(shù)字的總出現(xiàn)次數(shù)
      如果有任何一個數(shù)字的總次數(shù) > n→ 直接返回 -1(無解)。

      原理:
      數(shù)組總長度只有 n,每個位置最終只能放一個數(shù)字。如果某個數(shù)字總數(shù)超過 n,無論怎么放,必然有至少一個位置會和 forbidden[i] 沖突,所以無解。

      步驟2:統(tǒng)計「天然沖突位置」數(shù)量

      遍歷每一個位置i
      如果原始 nums[i] == forbidden[i]→ 這個位置是沖突位置,我們把所有這樣的位置總數(shù)記為k

      示例:
      nums = [1,2,3],forbidden = [3,2,1]
      位置0:1≠3 → 不沖突
      位置1:2==2 → 沖突
      位置2:3≠1 → 不沖突
      所以沖突總數(shù)k = 1

      步驟3:統(tǒng)計沖突位置中「重復(fù)數(shù)字的最大出現(xiàn)次數(shù)」

      在所有沖突位置里,統(tǒng)計每個數(shù)字出現(xiàn)了多少次,找到出現(xiàn)次數(shù)最多的那個數(shù)字的次數(shù),記為mx

      示例:
      只有位置1是沖突位置,數(shù)字是 2 → 沖突位置里數(shù)字2出現(xiàn)1次 →mx = 1

      原理:
      如果某個數(shù)字在沖突位置里扎堆出現(xiàn),比如 5 個沖突位置全是數(shù)字3,那這些位置無法內(nèi)部兩兩交換解決,必須用這個最大次數(shù)作為最低交換限制。

      步驟4:計算最小交換次數(shù)

      最終答案取兩個值的最大值

      1. 1.(沖突總數(shù) k + 1) / 2:兩兩交換沖突位置,是最優(yōu)的交換方式(一次交換解決兩個沖突)。

      2. 2.沖突位置里重復(fù)數(shù)字的最大次數(shù) mx:扎堆的沖突數(shù)字必須單獨處理,是硬性最低要求。

      示例計算:
      k=1 → (1+1)/2 = 1
      mx=1
      最大值 = 1 → 答案就是 1,和題目輸出一致。

      三、時間復(fù)雜度分析

      整個算法只做了3次線性遍歷

      1. 1. 遍歷 nums 統(tǒng)計數(shù)字頻率 → O(n)

      2. 2. 遍歷 forbidden 做無解判斷 + 統(tǒng)計沖突位置 + 統(tǒng)計重復(fù)數(shù)字 → O(n)

      3. 3. 簡單數(shù)學(xué)計算 → O(1)

      總時間復(fù)雜度:O(n)
      (n 是數(shù)組長度,滿足題目 n ≤ 10? 的高效運行要求)

      四、額外空間復(fù)雜度分析

      算法只使用了**哈希表(字典)**存儲數(shù)字頻率:

      • ? 哈希表最多存儲2n個不同數(shù)字(nums+forbidden),但實際遠(yuǎn)小于這個值。

      • ? 沒有使用遞歸、二維數(shù)組等額外空間。

      總額外空間復(fù)雜度:O(n)

      總結(jié)

      1. 1. 解題四步:判斷無解 → 統(tǒng)計沖突位置 → 統(tǒng)計沖突數(shù)字最大值 → 計算最小交換

      2. 2. 時間復(fù)雜度:O(n)(線性時間,高效處理大數(shù)據(jù));

      3. 3. 額外空間復(fù)雜度:O(n)(僅用哈希表存儲頻率)。

      Go完整代碼如下:

      package main

      import (
      "fmt"
      )

      func minSwaps(nums, forbidden []int)int {
      n := len(nums)
      total := map[int]int{}
      for _, x := range nums {
      total[x]++
      }

      cnt := map[int]int{}
      k, mx := 0, 0
      for i, x := range forbidden {
      total[x]++
      if total[x] > n {
      return-1
      }
      if x == nums[i] {
      k++
      cnt[x]++
      mx = max(mx, cnt[x])
      }
      }

      return max((k+1)/2, mx)
      }

      func main() {
      nums := []int{1, 2, 3}
      forbidden := []int{3, 2, 1}
      result := minSwaps(nums, forbidden)
      fmt.Println(result)
      }

      Python完整代碼如下:

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

      def minSwaps(nums, forbidden):
      n = len(nums)
      total = {}
      for x in nums:
      total[x] = total.get(x, 0) + 1

      cnt = {}
      k, mx = 0, 0
      for i, x in enumerate(forbidden):
      total[x] = total.get(x, 0) + 1
      if total[x] > n:
      return-1
      if x == nums[i]:
      k += 1
      cnt[x] = cnt.get(x, 0) + 1
      mx = max(mx, cnt[x])

      return max((k + 1) // 2, mx)

      def main():
      nums = [1, 2, 3]
      forbidden = [3, 2, 1]
      result = minSwaps(nums, forbidden)
      print(result)

      if __name__ == "__main__":
      main()

      C++完整代碼如下:

        
      




      using namespace std;

      int minSwaps(vector& nums, vector& forbidden) {
      int n = nums.size();
      unordered_map total;
      for (int x : nums) {
      total[x]++;
      }

      unordered_map cnt;
      int k = 0, mx = 0;
      for (int i = 0; i < forbidden.size(); i++) {
      int x = forbidden[i];
      total[x]++;
      if (total[x] > n) {
      return-1;
      }
      if (x == nums[i]) {
      k++;
      cnt[x]++;
      mx = max(mx, cnt[x]);
      }
      }

      return max((k + 1) / 2, mx);
      }

      int main() {
      vector nums = {1, 2, 3};
      vector forbidden = {3, 2, 1};
      int result = minSwaps(nums, forbidden);
      cout << result << endl;
      return0;
      }

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

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

      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.

      相關(guān)推薦
      熱點推薦
      反轉(zhuǎn)來了!美國批準(zhǔn)向10家中國公司出售英偉達(dá)H200芯片,引發(fā)關(guān)注

      反轉(zhuǎn)來了!美國批準(zhǔn)向10家中國公司出售英偉達(dá)H200芯片,引發(fā)關(guān)注

      科技處長
      2026-05-14 22:46:44
      歡迎宴會企業(yè)家座位曝光:馬斯克、黃仁勛與海信集團賈少謙、福耀玻璃曹暉等同桌吃飯,波音CEO和中國商飛董事長、國航董事長同席

      歡迎宴會企業(yè)家座位曝光:馬斯克、黃仁勛與海信集團賈少謙、福耀玻璃曹暉等同桌吃飯,波音CEO和中國商飛董事長、國航董事長同席

      大風(fēng)新聞
      2026-05-15 08:42:09
      再見火箭,再見申京,濃眉聯(lián)手杜蘭特,這讓其他隊怎么打

      再見火箭,再見申京,濃眉聯(lián)手杜蘭特,這讓其他隊怎么打

      阿晞體育
      2026-05-15 21:55:45
      大風(fēng)+大雨!即將抵達(dá)鎮(zhèn)江

      大風(fēng)+大雨!即將抵達(dá)鎮(zhèn)江

      鎮(zhèn)江風(fēng)情
      2026-05-15 20:38:49
      折疊屏狂降3000!今年618太卷了:國產(chǎn)機直接掀桌

      折疊屏狂降3000!今年618太卷了:國產(chǎn)機直接掀桌

      雷科技
      2026-05-15 21:05:24
      這個星座,終于要暴富了!

      這個星座,終于要暴富了!

      同道大叔
      2026-05-15 22:04:37
      剛離婚我便收拾行李飛美國,第二天前夫娶小三進(jìn)門,敬茶時,女方長輩的一句話,前夫和婆婆瞬間都愣住

      剛離婚我便收拾行李飛美國,第二天前夫娶小三進(jìn)門,敬茶時,女方長輩的一句話,前夫和婆婆瞬間都愣住

      麥子情感故事
      2026-05-15 16:04:06
      特朗普在北京用了三天兩夜,看到了一個無法被戰(zhàn)勝的中國

      特朗普在北京用了三天兩夜,看到了一個無法被戰(zhàn)勝的中國

      鄉(xiāng)野小珥
      2026-05-15 21:44:53
      3大利空炸盤!光迅跌停長飛跌9%,29只光模塊龍頭集體重挫

      3大利空炸盤!光迅跌停長飛跌9%,29只光模塊龍頭集體重挫

      慧眼看世界哈哈
      2026-05-15 11:24:33
      美國防長:北約盟友需要做出改變,美國想要合作伙伴,不是依賴者

      美國防長:北約盟友需要做出改變,美國想要合作伙伴,不是依賴者

      舊窗老街
      2026-05-15 20:24:19
      黃仁勛在北京逛街喝8元蜜雪冰城,吃38元炸醬面,店員:面是我們請他品嘗的,他說挺好吃

      黃仁勛在北京逛街喝8元蜜雪冰城,吃38元炸醬面,店員:面是我們請他品嘗的,他說挺好吃

      深圳晚報
      2026-05-15 19:30:01
      阿森納VAR爭議再升級:加布里埃爾拉拽球衣畫面曝光

      阿森納VAR爭議再升級:加布里埃爾拉拽球衣畫面曝光

      溫柔且自由
      2026-05-15 01:57:29
      顏值和天賦雙在線!弗拉格女友身份揭曉,竟是前NBA球員妹妹

      顏值和天賦雙在線!弗拉格女友身份揭曉,竟是前NBA球員妹妹

      籃球神吐槽
      2026-05-14 21:00:27
      河南“00后”新人將6.8萬元彩禮捐慈善機構(gòu),雙方家長得知后又各出一半資金湊夠20萬元,全力支持愛心捐贈

      河南“00后”新人將6.8萬元彩禮捐慈善機構(gòu),雙方家長得知后又各出一半資金湊夠20萬元,全力支持愛心捐贈

      大風(fēng)新聞
      2026-05-15 13:53:39
      安徽省公安廳公布4起黑惡犯罪典型案例

      安徽省公安廳公布4起黑惡犯罪典型案例

      人民資訊
      2026-05-15 15:33:32
      菲律賓政壇驚天變局,彈劾大戲風(fēng)云反轉(zhuǎn),權(quán)力博弈背后暗藏抉擇

      菲律賓政壇驚天變局,彈劾大戲風(fēng)云反轉(zhuǎn),權(quán)力博弈背后暗藏抉擇

      三石記
      2026-05-14 19:09:03
      倒查10年!國家出手,全面整治醫(yī)院這類問題

      倒查10年!國家出手,全面整治醫(yī)院這類問題

      醫(yī)脈圈
      2026-05-15 20:39:55
      美國歷代總統(tǒng)訪華都愛吃些啥?這幾道菜,讓他們放下刀叉拿筷子

      美國歷代總統(tǒng)訪華都愛吃些啥?這幾道菜,讓他們放下刀叉拿筷子

      青煙小先生
      2026-05-14 19:26:33
      黃仁勛在北京逛街,勇敢嘗試了豆汁,喝完臉都皺了…

      黃仁勛在北京逛街,勇敢嘗試了豆汁,喝完臉都皺了…

      微微熱評
      2026-05-15 15:31:59
      樊振東被棄用不到24小時,正式官宣“新身份”,終于等到這一天

      樊振東被棄用不到24小時,正式官宣“新身份”,終于等到這一天

      做一個合格的吃瓜群眾
      2026-05-15 14:45:15
      2026-05-15 22:36:49
      moonfdd incentive-icons
      moonfdd
      福大大架構(gòu)師每日一題
      1227文章數(shù) 68關(guān)注度
      往期回顧 全部

      科技要聞

      直降千元起步!蘋果華為率先開啟618讓利

      頭條要聞

      王毅:中美元首會晤 臺灣問題是重點議題之一

      頭條要聞

      王毅:中美元首會晤 臺灣問題是重點議題之一

      體育要聞

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

      娛樂要聞

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

      財經(jīng)要聞

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

      汽車要聞

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

      態(tài)度原創(chuàng)

      游戲
      教育
      房產(chǎn)
      本地
      公開課

      PS5獨占神作銷量太慘了!首周僅4614份 第二周消失

      教育要聞

      不只699,還是數(shù)物化奧賽東城三金高中!全國首批特級教師誕生地,剛剛曝光——

      房產(chǎn)要聞

      老黃埔熱銷之下,珠江春,為何去化僅3成?

      本地新聞

      用蘇繡的方式,打開江西婺源

      公開課

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

      無障礙瀏覽 進(jìn)入關(guān)懷版 主站蜘蛛池模板: 岛国最新亚洲伦理成人| 久久影院午夜伦手机不四虎卡| 中文字幕国产日韩精品| 极品美女一区二区三区| 国产精品福利在线观看无码卡一| 午夜一区二区亚洲福利vr| 亚洲欧美在线观看| 日韩精品亚洲人成在线| 国产高潮又爽又刺激的视频| 国产真实夫妇交换视频| 亚洲成av人不卡无码影片| 美女福利视频一区二区| 白白色?精品?亚洲| 尹人香蕉久久99天天拍| 欧美日韩中文亚洲v在线综合| 亚洲精品揄拍自拍首页一| 97人妻人人揉人人躁人人| 久久熟妇| 国产亚洲精品久久久久久青梅| 国产精品久久成人网站| 日日碰狠狠躁久久躁综合小说| 偷柏自拍亚洲综合在线在线视频日本三区精品| 一二三四中文字幕日韩乱码| 亚洲欧美日韩成人在线| 国产高清国产精品国产专区| 中文在线无码高潮潮喷在线播放| 亚洲成人网在线观看| 狠狠热精品免费视频| 久久精品国产72国产精福利 | 亚洲综合av色婷婷国产野外| 国产精品亚洲一区二区三区喷水| 亚洲国产精品国自产拍A| 亚洲男人天堂2020| 亚洲国产成人一区二区在线| 老色鬼在线精品视频在线观看| 亚洲欧洲日韩免费无码h| 国产suv精品一区二av18| 亚洲乱码日产精品一二三| 波多野结衣AV不卡无码| 丰满人妻一区二区三区| 国产欧美日韩综合一区在线播放|