豆包    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/8/21 21:06:45 阅读更多 →
2026年智能手环技术趋势与演进分析

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

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

2026/8/24 1:07:35 阅读更多 →
千问    LeetCode 3785. 避免禁用值的最小交换次数 Rust实现

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

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

2026/8/24 3:05:35 阅读更多 →

最新新闻

2026届AI校招大模型技术趋势与就业指南

2026届AI校招大模型技术趋势与就业指南

1. 2026届AI校招市场现状与趋势分析2026届校招季已经拉开帷幕,AI领域的人才争夺战呈现出前所未有的激烈态势。根据最新行业调研数据显示,头部科技企业针对AI算法岗位的招聘规模较去年同比扩张了47%,而其中大模型相关岗位的需求增幅更是高达82…

2026/8/24 6:56:25 阅读更多 →
X3D:从2D到3D的视频识别模型扩展指南与工程实践

X3D:从2D到3D的视频识别模型扩展指南与工程实践

1. 项目概述:从2D到3D的优雅进化 如果你做过图像分类,对ResNet、MobileNet这些名字一定不陌生。它们就像我们手里的瑞士军刀,处理一张张静态图片得心应手。但当我们把目光投向连续的视频帧时,事情就变得复杂了。视频识别&#xff…

2026/8/24 6:56:25 阅读更多 →
AI Agent工程化实践:从工具标准化到技能编排的完整体系

AI Agent工程化实践:从工具标准化到技能编排的完整体系

1. 从“玩具”到“工匠”:为什么AI需要Android手艺最近和几个做AI应用落地的朋友聊天,大家普遍有个感觉:大模型(LLM)本身的能力越来越强,但真要让它在某个具体业务里“干活”,比如去操作一个真实…

2026/8/24 6:56:25 阅读更多 →
AI智能体行为评估:MTI系统如何量化AI的“性格”与决策风格

AI智能体行为评估:MTI系统如何量化AI的“性格”与决策风格

1. 项目概述:当AI开始拥有“性格”最近在折腾AI智能体(AI Agents)的时候,我一直在琢磨一个事儿:我们给智能体喂了海量的数据,设定了复杂的任务链,但怎么去衡量和预测它在不同情境下的“行为倾向…

2026/8/24 6:56:25 阅读更多 →
SQL Server表结构修改:解决SSMS阻止保存更改的3种方案

SQL Server表结构修改:解决SSMS阻止保存更改的3种方案

1. 问题现象与核心矛盾解析如果你用过 SQL Server Management Studio(后面我们简称 SSMS)来管理数据库,尤其是在设计表结构的时候,大概率遇到过这个让人瞬间血压升高的弹窗:“不允许保存更改。您所做的更改要求删除并重…

2026/8/24 6:56:25 阅读更多 →
CIS扫描仪实战指南:原理、工具与自动化安全配置审计

CIS扫描仪实战指南:原理、工具与自动化安全配置审计

1. 背景与核心概念在网络安全领域,漏洞扫描是保障系统安全的第一道防线。CIS(Center for Internet Security)扫描仪,通常指的是基于CIS基准(CIS Benchmarks)的合规性扫描工具。它并非一个单一的硬件设备&am…

2026/8/24 6:55:25 阅读更多 →

日新闻

前端内容安全与依赖审计实践

前端内容安全与依赖审计实践

前端内容安全与依赖审计实践 前端安全依赖分层防护。没有任何单一配置能替代输出编码、权限校验和依赖更新。 把不可信内容当作数据 默认使用框架的转义能力;确需渲染 HTML 时,先在服务端或可信的客户端库中进行白名单过滤。避免把用户输入直接赋给 inne…

2026/8/24 1:08:15 阅读更多 →
Windows登录密码存储机制全解析:从哈希算法到安全加固实战

Windows登录密码存储机制全解析:从哈希算法到安全加固实战

1. 项目概述:Windows登录密码的“黑匣子”每次你按下CtrlAltDel,输入密码,然后看到那个熟悉的桌面,这背后发生了一系列复杂而精密的操作。作为一名长期与Windows系统打交道的从业者,我经常被问到:“我的密码…

2026/8/24 1:08:15 阅读更多 →
AI面试系统安全挑战与解决方案

AI面试系统安全挑战与解决方案

1. 项目概述:AI面试系统的安全挑战去年参与某跨国企业AI面试系统部署时,遇到一个典型案例:候选人在视频面试中无意提到竞争对手产品名称,系统竟自动将该信息关联到企业知识库并生成竞品分析报告。这个看似"智能"的功能&…

2026/8/24 1:08:15 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/24 0:06:02 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/24 0:20:20 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/24 0:14:11 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/23 18:47:06 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/23 12:10:44 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/22 3:22:48 阅读更多 →