当前位置: 首页 > news >正文

JavaScript实现归并排序及vscode输出乱码解决

思路

归并排序思路:11.6   归并排序 - Hello 算法

总体上来讲就是 递归分解 + 归并排序 代码如下↓

代码

//归并排序
function merge(left, right){console.log(flag++);console.log(left);console.log(right);let result = new Array();let il = 0, ir = 0;//左右两个数组的元素依次进行比较 将较小的元素加入结果数组中 while(il < left.length && ir < right.length){if(left[il] < right[ir]){result.push(left[il]);il++;}else{result.push(right[ir]);ir++;}}//左边数组、右边数组还有剩余时,将剩余元素加入结果数组while(il < left.length){result.push(left[il]);il++;}while(ir < right.length){result.push(right[ir]);ir++;}return result;
}
//递归分解
function mergeSort(array){let length = array.length;//array长度为1 不需要排序 直接返回if(length <= 1){return array;}//找到中间索引值const mid = parseInt(length / 2);//截取左半部分和右半部分const left = array.slice(0,mid);const right = array.slice(mid);//递归分解后 选择排序合并return merge(mergeSort(left),mergeSort(right));
}
输入:
var nums = [7,3,2,6,0,1,5,4];

输出:

const result = mergeSort(nums);
console.log(result);

输出结果:

[0, 1, 2, 3, 4, 5, 6, 7]

资料补充

如何在vscode中使用运行js(输出结果出现乱码) ?

  1. 在vscode中安装Code Runner插件
  2. 去node.js官网下载安装node.js
  3. 安装完毕后重启电脑即可运行

相关文章:

JavaScript实现归并排序及vscode输出乱码解决

思路 归并排序思路&#xff1a;11.6 归并排序 - Hello 算法 总体上来讲就是 递归分解 归并排序 代码如下↓ 代码 //归并排序 function merge(left, right){console.log(flag);console.log(left);console.log(right);let result new Array();let il 0, ir 0;//左右两个数…...

Redis面试题40

人工智能如何影响医疗保健行业&#xff1f; 答&#xff1a;人工智能对医疗保健行业产生了深远的影响&#xff0c;为医疗保健提供了更高效、准确和个性化的服务。以下是一些人工智能在医疗保健领域的应用示例&#xff1a; 疾病诊断&#xff1a;人工智能可以利用机器学习和深度学…...

2024年危险化学品经营单位安全管理人员证考试题库及危险化学品经营单位安全管理人员试题解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年危险化学品经营单位安全管理人员证考试题库及危险化学品经营单位安全管理人员试题解析是安全生产模拟考试一点通结合&#xff08;安监局&#xff09;特种作业人员操作证考试大纲和&#xff08;质检局&#xff0…...

Kafka相关内容复习

为什么要用消息队列 解耦 允许你独立的扩展或修改两边的处理过程&#xff0c;只要确保它们遵守同样的接口约束。 可恢复性 系统的一部分组件失效时&#xff0c;不会影响到整个系统。消息队列降低了进程间的耦合度&#xff0c;所以即使一个处理消息的进程挂掉&#xff0c;加入队…...

JVM之Java内存区域

JVM-Java内存区域 Java内存区域是Java虚拟机&#xff08;JVM&#xff09;管理的内存资源的逻辑划分&#xff0c;用于存储程序运行时所需的数据。Java内存区域的合理划分和管理对于程序的性能和稳定性具有重要影响。本文将深入探讨Java内存区域的各个部分&#xff0c;包括方法区…...

几个MySQL系统调优工具

几个MySQL系统调优工具 可以使用下面几个工具来做基准测试&#xff1a; sysbench&#xff1a;一个模块化&#xff0c;跨平台以及多线程的性能测试工具。 https://github.com/akopytov/sysbench iibench-mysql&#xff1a;基于Java的MySQL / Percona / MariaDB 索引进行插入性能…...

Linux内核与驱动面试经典“小”问题集锦(2)

接前一篇文章&#xff1a;Linux内核与驱动面试经典“小”问题集锦&#xff08;1&#xff09; 问题2 问&#xff1a;spin_lock和spin_lock_irq以及spin_lock_irqsave的区别是什么&#xff1f;也可以说它们之间有什么区别和联系&#xff1f; 备注&#xff1a;此题是自旋锁问题的…...

windws安装mysql详细步骤

1.下载地址&#xff1a; https://dev.mysql.com/downloads/mysql/2.下载好mysql安装包后&#xff0c;将其解压到指定目录&#xff0c;并记下解压的目录&#xff0c;后续用于环境变量配置&#xff1a; 3. 在bin目录同级下创建一个文件&#xff0c;命名为my.ini [mysqld] # 设…...

Linux的库文件

目录 概述&#xff1a; 静态库&#xff1a; 静态库概述&#xff1a; 静态库的制作 共享库&#xff08;动态库&#xff09; 共享库概述 动态库制作 动态库临时生效 动态库长期生效 动态库的升级 位置无关代码 概述&#xff1a; 库文件一般就是编译好的二进制文件&…...

JAVA Web 学习(五)Nginx、RPC、JWT

十二、反向代理服务器——Nginx 支持热部署&#xff0c;几乎可以做到 7 * 24 小时不间断运行&#xff0c;即使运行几个月也不需要重新启动&#xff0c;还能在不间断服务的情况下对软件版本进行热更新。性能是 Nginx 最重要的考量&#xff0c;其占用内存少、并发能力强、能支持…...

Python编程的十大神奇依赖库

Python是一门广受欢迎的编程语言&#xff0c;其生态系统丰富多彩&#xff0c;拥有许多令人惊叹的依赖库&#xff0c;可以帮助程序员们在各种领域中创造出令人瞠目结舌的应用。在这篇文章中&#xff0c;我们将探讨Python编程的十大神奇依赖库&#xff0c;它们像魔法一样&#xf…...

Java类的继承

XHTMLMapper继承 XWPFDocumentVisitor&#xff1a; 由于endVisitTableCell是抽象方法&#xff0c;XHTMLMapper中必须要实现&#xff1b; existErr()子类是否重写都是自由的&#xff1b; public abstract class XWPFDocumentVisitor<T, O extends Options, E extends IXWPFM…...

【DC渗透系列】DC-4靶场

主机发现 arp-scan -l┌──(root㉿kali)-[~] └─# arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:0c:29:6b:ed:27, IPv4: 192.168.100.251 Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.100.1 00:50:56:c0:00:08 …...

开源软件全景解析:驱动技术创新与行业革新的力量

目录 什么是开源 开源的核心 开源软件的特点 为什么程序员应该拥抱开源 1.学习机会&#xff1a; 2.社区支持&#xff1a; 3.提高职业竞争力&#xff1a; 4.加速开发过程&#xff1a; 5.贡献和回馈&#xff1a; 开源软件的影响力 开源软件多元分析&#xff1a; 开源…...

目标检测及相关算法介绍

文章目录 目标检测介绍目标检测算法分类目标检测算法模型组成经典目标检测论文 目标检测介绍 目标检测是计算机视觉领域中的一项重要任务&#xff0c;旨在识别图像或视频中的特定对象的位置并将其与不同类别中的对象进行分类。与图像分类任务不同&#xff0c;目标检测不仅需要…...

跟着cherno手搓游戏引擎【20】混合(blend)

抽象&#xff1a; Renderer.h: #pragma once #include"RenderCommand.h" #include "OrthographicCamera.h" #include"Shader.h" namespace YOTO {class Renderer {public:static void Init();static void BeginScene(OrthographicCamera& …...

leetcode 3.无重复字符的最长字串(滑动窗口) (C++)DAY2

文章目录 1.题目示例提示 2.解答思路3.实现代码结果 4.总结 1.题目 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长子串 的长度。 示例 示例 1: 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”&#xff0c;所以其长度为 3。 示…...

Android Build 依赖项

在项目中的Build.Gradle文件中dependencies代码块中添加指定依赖项。 有三种不同类型的依赖项 本地模块依赖项 implementation project(:mylibrary)这个mylibrary 必须在 settings.gradle 中使用的库名称相同 本地文件依赖项 implementation fileTree(dir: libs, include:…...

SpringMVC精简知识点

SpringMVC 数据格式化基本数据类型和字符串自动转换特殊数据类型和字符串自动转换 验证及国际化应用实例注意事项和使用细节注解的结合使用数据类型转换校验核心类-DatBinder取消某个属性的绑定中文乱码解决处理json和HttpMessageConverter<T>作业布置SpringMVC文件上传自…...

如何写好论文——(17)如何用批判性思维检阅文献

在写论文的时候&#xff0c;往往需要引用很多文献资料&#xff0c;作为论点来证明我们的研究目标是合理的。在讨论和结论中&#xff0c;我们往往也需要引用很多的文献资料和我们自己的研究结果放在一起&#xff0c;来证明我们的研究结果是有意义的。所以在选择文献资料的时候&a…...

【JavaEE】-- HTTP

1. HTTP是什么&#xff1f; HTTP&#xff08;全称为"超文本传输协议"&#xff09;是一种应用非常广泛的应用层协议&#xff0c;HTTP是基于TCP协议的一种应用层协议。 应用层协议&#xff1a;是计算机网络协议栈中最高层的协议&#xff0c;它定义了运行在不同主机上…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!

5月28日&#xff0c;中天合创屋面分布式光伏发电项目顺利并网发电&#xff0c;该项目位于内蒙古自治区鄂尔多斯市乌审旗&#xff0c;项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站&#xff0c;总装机容量为9.96MWp。 项目投运后&#xff0c;每年可节约标煤3670…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

Linux离线(zip方式)安装docker

目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1&#xff1a;修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本&#xff1a;CentOS 7 64位 内核版本&#xff1a;3.10.0 相关命令&#xff1a; uname -rcat /etc/os-rele…...

Windows安装Miniconda

一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...

LRU 缓存机制详解与实现(Java版) + 力扣解决

&#x1f4cc; LRU 缓存机制详解与实现&#xff08;Java版&#xff09; 一、&#x1f4d6; 问题背景 在日常开发中&#xff0c;我们经常会使用 缓存&#xff08;Cache&#xff09; 来提升性能。但由于内存有限&#xff0c;缓存不可能无限增长&#xff0c;于是需要策略决定&am…...