Leetcode 10.01. 合并排序的数组
C:
void insert(int *B, int size, int val) { if (size == 1) B[0] = val; else { for (int i = 1; i < size; i++) { if (val <= B[i]) { B[i - 1] = val; return; } else { B[i - 1] = B[i]; B[i] = val; } } } } void merge(int *A, int ASize, int m, int *B, int BSize, int n) { if (BSize == 0) return; int point = 0; while (point < m) { if (A[point] > B[0]) { int temp = A[point]; A[point] = B[0]; insert(B, BSize, temp); } point++; } for (int i = m; i < ASize; i++) A[i] = B[i - m]; }
JAVA:
public final void merge(int[] A, int m, int[] B, int n) { if (n == 0) return; int point0 = 0; while (point0 < m) { if (A[point0] > B[0]) { int temp = A[point0]; A[point0] = B[0]; insert(B, temp); } point0++; } for (int i = m; i < n + m; i++) { A[i] = B[i - m]; } } private final void insert(int[] arr, int val) { if (arr.length == 1) arr[0] = val; else { for (int i = 1; i < arr.length; i++) { if (arr[i] >= val) { arr[i - 1] = val; break; } arr[i - 1] = arr[i]; arr[i] = val; } } }
JS:
/** * @param {number[]} A * @param {number} m * @param {number[]} B * @param {number} n * @return {void} Do not return anything, modify A in-place instead. */ var merge = function (A, m, B, n) { if (n == 0) return; let point = 0; while (point < m) { if (A[point] >= B[0]) { let temp = A[point]; A[point] = B[0]; insert(B, temp); } point++; } for (let i = m; i < m + n; i++) A[i] = B[i - m]; }; var insert = function (arr, val) { if (arr.length == 1) return arr[0] = val; for (let i = 1; i < arr.length; i++) { if (val <= arr[i]) arr[i - 1] = val; else { arr[i - 1] = arr[i]; arr[i] = val; } } }
当你看清人们的真相,于是你知道了,你可以忍受孤独
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2020-03-09 如何优雅的 kill 线程
2020-03-09 leetcode-1117 悲观锁与乐观锁的实现