算法(TS):合并二维有序数组成一维有序数组

合并二维有序数组成一维有序数组的核心是合并有序的一维数组,声明变量 answer 为最终的合并结果,其初始值为 arr0。

第一步将 arr1 合并到 answer, 第二步将 arr2 合并到 answer,回到 arr 中的所有一维数组合并到 answer。

ts 复制代码
function mergeArr(arr: number[][]):number[] {
    if(arr.length === 0) return[]
    const answer: number[] = [...arr[0]]
    const len = arr.length
    let index = 1
    // 合并两个有序一维数组
    const merge = (origin: number[],target:number[]) => {
        let i = origin.length - 1,j = target.length - 1
        target.push(...new Array(origin.length))
        let targetIndex = target.length - 1,cur
        while(i >= 0 || j >= 0) {
            let cur: number = origin[i]
            if(i < 0) {
                cur = target[j]
                j--
            } else if(j < 0) {
                cur = origin[i]
                i--
            } else if(origin[i] >= target[j]) {
                cur = origin[i]
                i--
            } else if(origin[i] < target[j]) {
                cur = target[j]
                j--
            }

            target[targetIndex] = cur
            targetIndex--
        }
    }

    while(index < len) {
        merge(arr[index],answer)
        index++
    }

    return answer
}
相关推荐
怕浪猫2 分钟前
2026年金九银十,我面了22个前端
前端·javascript·面试
FYKJ_20109 分钟前
django电影推荐系统55066-计算机课程设计、毕业设计
vue.js·spring boot·python·mysql·typescript·spark·django
前端的日常14 分钟前
一个人+AI做情侣食谱小程序,30天纯赚
前端·javascript·后端
欣欣之王来了18 分钟前
AI合规专项:AI算法透明度的合规要求
人工智能·算法
wzdark19 分钟前
分块思想在算法优化中的实践与应用4
算法
Because_of_Her127 分钟前
dfs-洪水填充技巧
笔记·算法·深度优先·洪水填充
小静AI工程实验室39 分钟前
RSA 算法详解:从模幂原理到 OAEP 加密、PSS 签名与 Python 实验
python·算法
qq_316837751 小时前
阿里云百炼 fun-asr-realtime uniapp vue3 调用
javascript·vue.js·uni-app
xzal121 小时前
GESP Python笔记
笔记·python·算法
wzdark1 小时前
算法中的记忆化思想与重复子问题优化4
算法