豆包    LeetCode 3785. 避免禁用值的最小交换次数 C语言实现
题目题意两个长度均为 n 的数组 nums 和 forbidden 可任意交换 nums 中的元素要求最终每个位置 i 满足 nums[i] ! forbidden[i] 返回最少交换次数无解返回 -1 。核心思路1. 无解判定若任意数值在 nums 和 forbidden 中的总出现次数 n根据鸽巢原理必然存在位置无法满足条件返回 -1 。2. 坏列统计统计满足 nums[i] forbidden[i] 的位置坏列总数 badSum 以及坏列中出现次数最多的数值的次数 maxBad 。3. 最小交换次数答案为 max(⌈badSum / 2⌉, maxBad)- 两两交换不同值的坏列每次消除 2 个坏列至少需要 ⌈badSum/2⌉ 次- 若某数值的坏列过多每个坏列都需要与外部好位置交换至少需要 maxBad 次。C 语言实现排序法简洁可靠c#include stdlib.hstatic int cmpInt(const void* a, const void* b) {int x *(const int*)a;int y *(const int*)b;return (x y) - (x y);}int minSwaps(int* nums, int numsSize, int* forbidden, int forbiddenSize) {int n numsSize;// 1. 合并两数组排序后统计总频率判断无解int* total (int*)malloc(2 * n * sizeof(int));for (int i 0; i n; i) total[i] nums[i];for (int i 0; i n; i) total[n i] forbidden[i];qsort(total, 2 * n, sizeof(int), cmpInt);int impossible 0;for (int i 0; i 2 * n; ) {int j i;while (j 2 * n total[j] total[i]) j;if (j - i n) {impossible 1;break;}i j;}free(total);if (impossible) return -1;// 2. 收集所有坏列nums[i] forbidden[i]int* badVals (int*)malloc(n * sizeof(int));int badSum 0;for (int i 0; i n; i) {if (nums[i] forbidden[i]) {badVals[badSum] nums[i];}}if (badSum 0) {free(badVals);return 0;}// 排序后统计坏列中最多的重复次数qsort(badVals, badSum, sizeof(int), cmpInt);int maxBad 0;for (int i 0; i badSum; ) {int j i;while (j badSum badVals[j] badVals[i]) j;if (j - i maxBad) maxBad j - i;i j;}free(badVals);int pairSwaps (badSum 1) / 2; // 向上取整return pairSwaps maxBad ? pairSwaps : maxBad;}复杂度- 时间O(n \log n)主要为两次排序的开销对于 n \le 10^5 完全满足时限。- 空间O(n)用于存储合并数组与坏列数组。需要我补充一份线性时间的拉链法哈希表版本吗

相关新闻

广西专升本电子与信息大类考纲深度解析:电工、C语言、网络备考全攻略

广西专升本电子与信息大类考纲深度解析:电工、C语言、网络备考全攻略

1. 项目概述:一份考纲的深度价值如果你正在准备广西的“电子与信息大类”专升本考试,手头除了几本教材和一堆零散的真题,是不是总觉得复习起来像在迷雾里打转,抓不住重点?或者,你是一位辅导老师&#xff0c…

2026/7/30 8:08:23 阅读更多 →
2026年智能手环技术趋势与演进分析

2026年智能手环技术趋势与演进分析

行业标准引入2026年,智能手环已从单纯的计步设备演变为承载物联网入口、生命体征监测、工业安全管理等多重职能的复合型智能终端。伴随AIoT技术的深化应用,行业对智能手环的技术指标、数据服务能力及场景适配性提出了新的标准要求。本文以“2026年智能手…

2026/7/30 8:08:23 阅读更多 →
千问    LeetCode 3785. 避免禁用值的最小交换次数 Rust实现

千问 LeetCode 3785. 避免禁用值的最小交换次数 Rust实现

在 Rust 中实现这道题,我们需要利用 HashMap 来进行频次统计。由于 Rust 的所有权机制和严格的类型检查,我们在遍历和更新哈希表时,通常会使用 entry API 来优雅地处理键不存在的情况。Rust 代码实现use std::collections::HashMap;impl Solu…

2026/7/30 8:08:23 阅读更多 →

最新新闻

Flink实时数据加密技术解析与生产实践

Flink实时数据加密技术解析与生产实践

1. 为什么Flink实时数据加密成为大数据领域刚需 在金融交易、医疗健康、政务处理等敏感领域,数据往往以每秒数万条的速度持续生成。某银行风控系统曾因传输层加密缺失,导致客户身份证号在流转过程中被恶意截获。这暴露出传统批处理加密方案的致命缺陷——…

2026/7/30 9:55:57 阅读更多 →
开放量子系统:从理论到实践的噪声建模与量子算法优化

开放量子系统:从理论到实践的噪声建模与量子算法优化

量子计算正在从实验室走向现实应用,但很多开发者第一次接触量子编程时都会遇到一个关键问题:为什么我的量子算法在模拟器上运行完美,一到真实硬件就表现不稳定?这个问题的答案,就藏在"开放量子系统"这个概念…

2026/7/30 9:55:57 阅读更多 →
手持风扇21700电芯改装:从续航焦虑到性能飞跃的实践指南

手持风扇21700电芯改装:从续航焦虑到性能飞跃的实践指南

那天下午,我盯着桌上那个号称“续航强劲”的便携风扇,它又在最关键的时刻罢工了。这已经是本周第三次——不是风量逐渐衰减,而是直接断电关机,留下我在闷热的房间里无奈苦笑。市面上大多数手持风扇,标称容量动辄几千毫…

2026/7/30 9:55:57 阅读更多 →
《黄帝内经》032章丨水谷精气 生命存续

《黄帝内经》032章丨水谷精气 生命存续

摘要:本文注解《灵枢平人绝谷第三十二》,承接前篇《肠胃》的脏腑形态认知,从运化功能层面拆解人体后天生命的底层逻辑。本篇核心解答健康常人断绝饮食七日而亡的根本原因:水谷化生的精气与津液,是维持周身脉络运转、滋…

2026/7/30 9:55:57 阅读更多 →
英伟达Vera CPU如何通过专用架构加速EDA芯片设计流程

英伟达Vera CPU如何通过专用架构加速EDA芯片设计流程

如果你是一名芯片设计工程师,最近可能已经感受到了行业的变化:传统的 EDA 工具链在应对 3nm、2nm 甚至更先进工艺时,仿真和验证环节的时间成本正成为项目进度的瓶颈。而就在这个关键节点,英伟达宣布用自研的 Vera CPU 加速下一代芯…

2026/7/30 9:55:57 阅读更多 →
ML.NET 核心技术精讲:特征工程 + 算法选型 + 部署优化

ML.NET 核心技术精讲:特征工程 + 算法选型 + 部署优化

很多开发者学习 ML.NET 都是从一个控制台 Demo 起步:引用 NuGet 包、加载数据集、调用训练 API、输出评估指标,跑通一次便觉得“机器学习落地也不过如此”。但真正嵌入工业上位机、企业业务系统后,问题会接连暴露:模型准确率远低于…

2026/7/30 9:54:56 阅读更多 →

日新闻

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 您是否曾因Windows系统盘空间不足而烦恼?是否遇到过设…

2026/7/30 0:00:13 阅读更多 →
如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 你是否曾经在浏览…

2026/7/30 0:00:13 阅读更多 →
“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

更多请点击: https://intelliparadigm.com 第一章:AI 教师备课辅助 AI 教师备课辅助系统正逐步成为教育数字化转型的核心支撑工具,它并非替代教师,而是通过语义理解、知识图谱与多模态生成能力,将教师从重复性劳动中解…

2026/7/30 0:00:13 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/29 22:18:20 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/29 15:00:03 阅读更多 →

月新闻