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

  1. 
    

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

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

      0
      分享至

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

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

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

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

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

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

      輸出: 1。

      解釋:

      一種最優的交換方案:

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

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

      題目來自力扣3785。

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

      1. 1. 給定兩個等長數組numsforbidden,長度為n

      2. 2. 操作:任意交換 nums 中兩個不同下標的元素,可以交換無數次。

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

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

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

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

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

      步驟2:統計「天然沖突位置」數量

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

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

      步驟3:統計沖突位置中「重復數字的最大出現次數」

      在所有沖突位置里,統計每個數字出現了多少次,找到出現次數最多的那個數字的次數,記為mx

      示例:
      只有位置1是沖突位置,數字是 2 → 沖突位置里數字2出現1次 →mx = 1

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

      步驟4:計算最小交換次數

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

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

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

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

      三、時間復雜度分析

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

      1. 1. 遍歷 nums 統計數字頻率 → O(n)

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

      3. 3. 簡單數學計算 → O(1)

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

      四、額外空間復雜度分析

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

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

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

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

      總結

      1. 1. 解題四步:判斷無解 → 統計沖突位置 → 統計沖突數字最大值 → 計算最小交換

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

      3. 3. 額外空間復雜度: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科普文章、工具評測、提升效率的秘籍以及行業洞察。 歡迎關注“福大大架構師每日一題”,發消息可獲得面試資料,讓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.

      相關推薦
      熱點推薦
      宇樹發布GD01載人變形機甲 定價390萬元起

      宇樹發布GD01載人變形機甲 定價390萬元起

      財聯社
      2026-05-12 12:27:07
      偉大的2-0!中國男足21年后重返世界大賽 U17國足小組第2進世少賽

      偉大的2-0!中國男足21年后重返世界大賽 U17國足小組第2進世少賽

      風過鄉
      2026-05-13 05:44:42
      國乒雙冠后收到壞消息!孫穎莎王楚欽全勝開啟魔鬼賽程 31歲林高遠復出!

      國乒雙冠后收到壞消息!孫穎莎王楚欽全勝開啟魔鬼賽程 31歲林高遠復出!

      好乒乓
      2026-05-12 12:16:38
      全球進入北京時間

      全球進入北京時間

      環球時報國際
      2026-05-12 14:44:04
      一個普遍規律:低層次的社交,靠的是飯局;中層次的社交,靠的是利益;而高層次的社交,靠的是這兩個關鍵核心

      一個普遍規律:低層次的社交,靠的是飯局;中層次的社交,靠的是利益;而高層次的社交,靠的是這兩個關鍵核心

      心理觀察局
      2026-05-12 09:17:28
      下降6%!一季度結婚數再創新低,同比減少11萬對,離婚數也少了

      下降6%!一季度結婚數再創新低,同比減少11萬對,離婚數也少了

      網易新聞出品
      2026-05-12 15:45:59
      被Miu Miu拉黑的街道:退貨率超90%,網紅“穿完就退”成產業鏈

      被Miu Miu拉黑的街道:退貨率超90%,網紅“穿完就退”成產業鏈

      每日經濟新聞
      2026-05-12 18:00:09
      女子推搡哨兵后續:官媒發聲,知情人爆料,恐不止坐牢這么簡單

      女子推搡哨兵后續:官媒發聲,知情人爆料,恐不止坐牢這么簡單

      千言娛樂記
      2026-05-12 15:10:56
      騰訊張軍:微信“訪客功能”已焊死,不會開發,不會提供

      騰訊張軍:微信“訪客功能”已焊死,不會開發,不會提供

      界面新聞
      2026-05-12 10:29:50
      門店給顧客發有償陪睡信息?滬上阿姨:已報警,賬號疑被盜用

      門店給顧客發有償陪睡信息?滬上阿姨:已報警,賬號疑被盜用

      南方都市報
      2026-05-12 17:39:36
      多爾袞定律該擴大了!網傳山東聊城繼父與繼女的養老對話,引爭議

      多爾袞定律該擴大了!網傳山東聊城繼父與繼女的養老對話,引爭議

      火山詩話
      2026-05-12 10:47:02
      前腳剛考上公務員獲公示,他轉身就將攝像頭伸進女生裙底!這一次真的該感謝舉報者

      前腳剛考上公務員獲公示,他轉身就將攝像頭伸進女生裙底!這一次真的該感謝舉報者

      瀟拾億郎
      2026-05-12 18:03:02
      足壇瘋狂一夜:中國U17奇跡晉級,利雅得勝利慘遭絕平,馬競險勝

      足壇瘋狂一夜:中國U17奇跡晉級,利雅得勝利慘遭絕平,馬競險勝

      足球狗說
      2026-05-13 05:51:04
      “好豪邁的洛麗塔”,165cm未成年女兒穿搭火了,家長尷尬不敢認

      “好豪邁的洛麗塔”,165cm未成年女兒穿搭火了,家長尷尬不敢認

      妍妍教育日記
      2026-05-12 18:46:53
      炸鍋!皇馬傳奇公開抵制穆里尼奧,老佛爺發布會當場發飆

      炸鍋!皇馬傳奇公開抵制穆里尼奧,老佛爺發布會當場發飆

      瀾歸序
      2026-05-13 04:10:08
      女子結婚不到一周,卻因摩洛哥新娘視頻導致離婚

      女子結婚不到一周,卻因摩洛哥新娘視頻導致離婚

      映射生活的身影
      2026-05-12 12:13:28
      特斯拉宣布停產,震驚全網!

      特斯拉宣布停產,震驚全網!

      財經三分鐘pro
      2026-05-12 15:10:58
      廣東球迷意難平!不止因為73-88慘敗北京,更多在于以下這五點!

      廣東球迷意難平!不止因為73-88慘敗北京,更多在于以下這五點!

      田先生籃球
      2026-05-12 22:41:50
      奶奶騎臺鈴電動車接6歲孫子,NFC解鎖后方向突然鎖死兩人摔傷;家屬:不到一年發生七八次事故;臺鈴回應

      奶奶騎臺鈴電動車接6歲孫子,NFC解鎖后方向突然鎖死兩人摔傷;家屬:不到一年發生七八次事故;臺鈴回應

      大象新聞
      2026-05-12 19:46:06
      打破常規 國內航線燃油附加費5月16日起再上調

      打破常規 國內航線燃油附加費5月16日起再上調

      財聯社
      2026-05-12 16:55:15
      2026-05-13 07:07:00
      moonfdd incentive-icons
      moonfdd
      福大大架構師每日一題
      1223文章數 67關注度
      往期回顧 全部

      科技要聞

      宇樹發布載人變形機甲,定價390萬元起

      頭條要聞

      特朗普稱將同中方討論對臺軍售和黎智英案 外交部回應

      頭條要聞

      特朗普稱將同中方討論對臺軍售和黎智英案 外交部回應

      體育要聞

      騎士終于玩明白了?

      娛樂要聞

      白鹿風波升級!掉粉20萬評論區淪陷

      財經要聞

      利潤再腰斬 京東干外賣后就沒過過好日子

      汽車要聞

      吉利銀河“TT”申報圖曝光 電動尾翼+激光雷達

      態度原創

      親子
      手機
      本地
      旅游
      數碼

      親子要聞

      夏天建議:把孩子的空調服換成它!

      手機要聞

      谷歌攜手蘋果升級換機體驗:iPhone轉安卓可遷移密碼、主屏布局

      本地新聞

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

      旅游要聞

      中東戰事影響持續,約旦旅游業仍面臨挑戰

      數碼要聞

      看電視的人越來越多了 3億臺電視在線 小米第一

      無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 日韩人妻一曲二曲| 亚洲精品乱码久久久久99| 久久国产自拍一区二区三区| 国产成人HD| 久久不见久久见免费影院www日本| 亚洲AV播放| 国产sm鞭打折磨调教视频| 亚洲中文字幕在线无码一区二区| 久久久久免费看成人影片| 影音先锋在线观看资源影音av| 无码人妻系列| 人妖无码一区二区| 亚洲 欧洲 国产 日产 综合| 久久99精品久久久久久野外| 麻豆精产国品一二三产 | 亚洲色天堂网| 青青草国产精品亚洲专区无码| 手机永久AV在线播放| 韩国精品一区二区三区| 人人妻人人狠人人爽| 福利cosplayh裸体の福利| 一级毛片在线播放免费观看| 亚洲成aⅴ人片久青草影院| 亚洲狠狠婷婷综合久久久| 亚洲精品麻豆一区二区| 成 人国产在线观看高清不卡| 成人福利一区二区视频在线| 夜夜嗨久久人成在日日夜夜| 95色色| 亚洲黑人国产精品久久| 精品久久久无码中文字幕边打电话| 999福利激情视频| 亚洲va在线播放一区| 一本二本三本不卡无码| 先锋成人影音| 老熟妇欲乱一区二区三区| 久久亚洲精品无码播放| 韩国18禁啪啪无遮挡免费| 国产com| 国产精品中文字幕av| 一区二区三区成人AV|