Median of Two Sorted Arrays
这个题真的很简单,但是在LeetCode中难度排最高级,开始写代码进度跑的时候以为是题理解错啦,它的输出信息是
input:
ouput:
expected:
我以为第二项是正确答案,可恶的英文,最后知道原因后,就能写正确代码,但是中间老是有点改动就想提交,不知道这习惯好不,下面贴上丑陋的代码,花时间再看看别人的优秀代码。
double findMedianSortedArrays(int A[], int m, int B[], int n) { int sum = m + n; if (sum == 0) { return 0; } else if (sum == 1) { return m > n ? A[m - 1] : B[n - 1]; } else if(m == 0) { if (sum % 2 == 0) { return (B[sum / 2 - 1] + B[sum / 2]) / 2.f; } else { return B[sum / 2]; } } else if (n == 0) { if (sum % 2 == 0) { return (A[sum / 2 - 1] + A[sum / 2]) / 2.f; } else { return A[sum / 2]; } } int count = sum / 2; int j = 0, k = 0; int tmp1 = 0; for (int i = 0; i < count; i++) { if (j >= m || (k < n && A[j] > B[k])) { if (sum % 2 ==0) { tmp1 = B[k]; } k++; } else { if (sum % 2 ==0) { tmp1 = A[j]; } j++; } } float result = .0f; if (j >= m) { result = B[k]; } else if(k >= n) { result = A[j]; } else { result = A[j] < B[k] ? A[j] : B[k]; } if (sum % 2 == 0) { return (tmp1 + result) / 2.f; } else { return result; } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效