渗透测试笔记—window基础

声明:

学习视频来自B站up主 【泷羽sec】有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!

内容有误的地方欢迎各位大佬及时指正修改,虚心求教,共同进步!

有兴趣的小伙伴可以点击下面连接进入b站主页[B站泷羽sec]

https://space.bilibili.com/350329294

Windows 操作系统简介

Windows 是由微软公司开发的一系列操作系统,广泛应用于个人计算机、工作站、服务器、平板电脑和嵌入式设备。自 1985 年首次发布以来,Windows 系列操作系统已经经历了多个版本的演变,成为当今最流行的桌面操作系统之一。

1. 历史背景

  • Windows 1.0(1985):Windows 的第一个版本,提供基本的图形用户界面 (GUI) 以提高 MS-DOS 的可用性。
  • Windows 3.0(1990):有效提升了 Windows 的用户界面和功能,使得 Windows 成为一个主流的操作系统。
  • Windows 95(1995):引入了开始菜单、任务栏等创新界面,标志着 Windows 平台的重大飞跃。
  • Windows XP(2001):具有较为稳定的性能和用户友好的界面,广受欢迎。
  • Windows Vista(2007):在安全性和用户界面方面进行了重大改进,但其性能和兼容性问题受到批评。
  • Windows 7(2009):改进了 Vista 的问题,提供了更好的用户体验和性能。
  • Windows 8(2012):引入了平板模式和新的开始屏幕界面,虽然受到设计上的争议。
  • Windows 10(2015):融合了传统桌面和新界面,支持多个设备的统一操作。
  • Windows 11(2021):引入了视觉上的重大改进,如新的开始菜单、任务栏设计以及对游戏和多任务处理的增强支持。

2. 主要特性

  • 图形用户界面 (GUI):Windows 提供直观的图形界面,使用户更易于进行操作。

  • 多任务处理:允许用户同时运行多个程序,并在它们之间切换。

  • 兼容性:支持大量的硬件和软件,使用户能够使用众多应用程序。

  • 安全功能

    • 防火墙功能,帮助抵御网络攻击。
    • 用户账户控制 (UAC),限制应用的操作权限,增强安全性。
    • Windows Defender 提供实时的病毒和恶意软件保护。
  • 云服务:与 Microsoft Azure 和 OneDrive 等服务紧密集成,提供数据备份和文件同步功能。

  • 系统更新:通过 Windows Update 方便用户更新操作系统和安全补丁。

3. 版本分类

Windows 操作系统可以按用户类型和应用场景进行分类:

  • 个人用户版本

    • Windows Home、Windows Pro、Windows Education 等,针对家庭和个人用户,提供不同级别的功能。
  • 企业版本

    • Windows Enterprise、Windows Pro for Workstations 等,包含企业所需的安全性和管理功能。
  • 服务器版本

    • Windows Server 系列,专为服务器环境设计,提供高性能和管理功能。

4. 应用场景

  • 个人计算机: 在家庭和办公室环境中广泛使用,适用于办公、娱乐、上网和游戏等多种用途。
  • 企业环境: 企业使用 Windows 进行集中管理、文档处理、财务应用和数据分析等。
  • 服务器与虚拟化: Windows Server 被广泛应用于网络服务、虚拟化、数据库管理等领域。

5. 市场地位

Windows 不仅是全球最广泛使用的桌面操作系统之一,还是许多企业基础设施的重要组成部分。在全球 PC 操作系统市场中,Windows 持续占据着显著的市场份额。

Linux 和 Windows 操作系统在文件结构和路径管理的比较

1. 文件系统

  • Linux

    • fhs 目录结构:Linux 使用 Filesystem Hierarchy Standard (FHS) 目录结构,设备和文件系统的挂载都是以目录形式展示,即所有的设备都是文件的一部分。
    • 示例:在 Linux 中,所有的设备(如 USB、硬盘等)都可以通过 /mnt 或 /media 目录挂载。
  • Windows

    • 驱动器字母:Windows 使用驱动器字母(例如 C:、D: 等)来标识不同的存储设备。系统通过驱动器字母启动,不同的存储分区通过字母分配。
    • 示例:在 Windows 中,文件路径如 C:\Users\username\Documents 表示在 C: 驱动器中的路径。

2. 路径格式

  • Linux

    • 路径格式:路径以斜杠 / 开始,遵循区分大小写的规则,目录结构在视觉上分为大写和小写(左斜线标识)。
    • 示例:路径示例为 /home/user/docs
  • Windows

    • 路径格式:路径以分隔符 \ 开始,不区分大小写(右斜线标识)。Windows 用于区别不同的驱动器和目录。
    • 示例:路径示例为 C:\Program Files\MyApp

3. 系统配置

  • Linux

    • 配置文件:大多数系统配置通过文本文件进行管理,这些文件通常位于 /etc 目录下。用户可以使用文本编辑器(如 nanovim)直接修改这些配置文件。
      • 示例:网络配置文件(如 interfaces 文件)、服务配置(如 sshd_config)等都是以文本文件方式存在,用户可以方便地进行编辑和版本控制。
    • 包管理:Linux 的软件安装和管理通常通过包管理器(如 aptyumpacman)进行,用户可以通过命令行快速安装、升级和删除软件。
    • 终端操作:Linux 提供强大的命令行终端,许多操作和配置更倾向于命令行操作,适合技术用户。
  • Windows

    • 图形用户界面(GUI):Windows 系统提供广泛的图形界面,用户通过“控制面板”或“设置”进行许多系统配置,无需直接编辑文件。
      • 示例:网络设置、用户管理、程序安装等大多通过图形界面来完成,普通用户更易上手。
    • 注册表配置:许多系统和应用的配置存储在 Windows 注册表中(Registry),这是一种层次化的数据库,用户需要小心操作,避免手动错误。
      • 示例:像 regedit 命令可以用来打开注册表编辑器,用户可以查看或修改配置。
    • 软件安装:Windows 通常使用安装向导进行软件安装,支持 .exe.msi 等格式的安装包,安装过程相对简便。

Windows的shell接口

1. Windows 命令提示符 (Command Prompt)

  • 描述:命令提示符是 Windows 中的传统命令行界面,允许用户通过输入命令与系统交互。
  • 特点
    • 基于字符的界面,支持多种内置命令进行文件和系统管理。
    • 适合执行简单的命令和批处理操作。
  • 访问方式:通过运行 cmd 或在搜索中输入 “cmd” 打开。

2. Windows PowerShell

  • 描述:PowerShell 是一种先进的命令行外壳和脚本语言,旨在进行系统管理和自动化任务。
  • 特点
    • 支持对象导向编程,能够处理复杂任务。
    • 允许访问 .NET Framework 和执行高级脚本。
    • 拥有丰富的模块和命令集合,适合自动化系统管理。
  • 访问方式:通过运行 PowerShell 或在搜索中输入 “PowerShell” 打开。

3. Windows Terminal

  • 描述:Windows Terminal 是一个现代化的终端应用,集成了 PowerShell、命令提示符和 WSL(Windows Subsystem for Linux)等多个环境。
  • 特点
    • 允许多标签页操作,管理多个 shell 会话。
    • 提供丰富的自定义选项,包括主题和配色。
    • 对 Unicode 和文本渲染的支持更好。
  • 访问方式:在 Microsoft Store 安装,或通过搜索 “Windows Terminal” 打开。

4. Windows Subsystem for Linux (WSL)

  • 描述:WSL 允许用户在 Windows 上运行完整的 Linux 发行版。
  • 特点
    • 支持多种 Linux 发行版(如 Ubuntu、Debian)。
    • 允许直接使用 Linux 命令行工具,与 Windows 文件系统互操作。
    • 适合开发和测试使用 Linux 环境的应用程序。
  • 访问方式:通过安装所需的 Linux 发行版,使用 wsl 命令打开。

5. WMIC (Windows Management Instrumentation Command-Line)

  • 描述:WMIC 是一种命令行工具,允许用户通过 Windows Management Instrumentation (WMI) 与系统进行交互,获取和修改系统信息。
  • 特点
    • 提供丰富的系统管理功能,包括查询硬件和软件配置、管理系统服务、网络设置等。
    • 支持复杂的查询和自动化脚本。
    • 简化了访问 WMI 的复杂性,使其更易于从命令行运行。
  • 访问方式:在命令提示符中输入 wmic 进入 WMIC 命令行环境。

6. 图形用户界面 (GUI)

  • 描述:Windows 的桌面环境是操作系统的核心部分,用户通过可视化界面与系统进行交互。
  • 特点
    • 提供用户友好的界面,允许通过点击图标、菜单和窗口进行操作。
    • 主要组件包括“控制面板”、“设置”、“文件资源管理器”等。
    • 适合不熟悉命令行操作的普通用户,提供直观的操作体验。
  • 访问方式:通过点击 Windows 菜单或桌面的图标访问。

总结

在 Windows 操作系统中,用户有多种方式与系统进行交互:

  1. 命令提示符(Command Prompt):适合基础命令行操作。
  2. Windows PowerShell:更强大,适合复杂管理和自动化任务。
  3. Windows Terminal:现代终端,支持多种 shell 的集成。
  4. Windows Subsystem for Linux(WSL):在 Windows 上运行 Linux 环境。
  5. WMIC:用于管理和查询系统信息的命令行工具。
  6. 图形用户界面(GUI):提供友好的可视化操作体验,适合大多数用户。

通过选择不同的接口,用户可以根据自己的需求和技术水平灵活地与 Windows 操作系统进行交互。

CMD常用命令总结

常用 CMD 命令

命令简要描述
assoc显示或修改文件扩展名与文件类型的关联。
attrib显示或更改文件的属性(如只读、隐藏、系统文件等)。
cd更改当前目录。
chkdsk检查磁盘并显示状态报告。
cls清除命令提示符窗口中的内容。
copy复制文件或目录到一个位置。
del删除一个或多个文件。
dir列出指定目录中的文件和子目录。
echo显示消息或开启/关闭命令回显。
exit关闭命令提示符窗口。
fc比较两个文件并显示它们之间的不同。
find在文件中搜索指定文本字符串。
format格式化磁盘以进行使用。
help显示命令的简单帮助信息。
ipconfig显示当前网络连接的 IP 地址和其他网络信息。
mkdir创建一个新目录。
move移动文件或目录到新位置。
ping检查与另一个计算机的网络连接。
rd删除目录。
ren重命名文件或目录。
rmdir删除空目录。
set显示、设置或删除 Windows 环境变量。
shutdown关闭或重启计算机。
tasklist列出当前运行的所有进程。
taskkill结束或杀死一个或多个正在运行的进程。
type显示文本文件的内容。
xcopy复制文件和目录,包括子目录,支持文件属性的保留。
robocopy增强的复制命令,支持镜像文件和文件夹,具备更强大的功能和选项。
tree以树状图的格式显示目录结构。
rename重命名文件或目录(与 ren 相同)。
copy con创建新文件并从控制台输入内容。
sfc系统文件检查器,扫描并修复系统文件。
defrag磁盘碎片整理,优化磁盘性能。
timeout暂停执行指定时间。
start在新窗口中启动一个程序或打开文件。
tree以树状图的格式显示目录结构。
arp显示或修改 TCP/IP 地址解析协议缓存。
nbtstat用于测试和修复 NetBIOS 名称解析问题。
nslookup查询 DNS 记录,确认域名解析。
whoami显示当前用户的详细信息,包括用户名和域名。
ver显示当前 Windows 操作系统的版本信息。
systeminfo显示关于计算机的详细配置信息。
diskpart用于分区管理和磁盘配置。
fsutil提供文件系统配置和管理的命令。
net user管理计算机中的用户账户。

其他常用命令及其功能

  • 系统管理命令

    • wmic:Windows Management Instrumentation Command-line,获取系统信息和管理设置。
    • systeminfo:显示计算机的配置和操作系统信息。
  • 网络命令

    • netstat:显示网络连接、路由表和网络接口信息。
    • tracert:跟踪数据包到目标计算机的路径。
    • route:显示和修改网络路由表。
  • 磁盘管理命令

    • diskpart:用于分区管理和磁盘配置。
    • fsutil:提供文件系统配置和管理的命令。
  • 用户管理命令

    • net user:管理计算机中的用户账户。
    • net localgroup:管理本地用户组。

Windows系统的标准目录

1. 根目录(Root Directory)

  • C:\: 磁盘的根目录,通常是 Windows 系统所在的主分区(例如 C 盘)。

2. 常见的标准目录

以下是 Windows 系统中一些预定义的标准目录及其功能:

目录描述
C:\Windows\Windows 操作系统的安装目录,包含系统核心文件和库。
C:\Program Files\默认安装 32 位应用程序的目录。对于 64 位系统,还会有 C:\Program Files (x86)\ 目录用于安装 32 位应用程序。
C:\Users\存放所有用户的个人文件和设置的目录。每个用户会有自己的子目录,如 C:\Users\Username\
C:\Documents and Settings\在较早版本的 Windows (如 Windows XP) 中,存放用户配置和数据的目录,Windows Vista 及以后的版本使用 C:\Users\
C:\ProgramData\存放所有用户共享的数据和应用程序配置的数据。某些应用程序可能会在这里存放通用设置和数据。
C:\System32\存放 32 位和 64 位 Windows 系统文件,以及 DLLs、驱动程序和系统工具等。
C:\Temp\用于存放临时文件的目录,某些程序在运行时会创建和使用此目录。
C:\Recycle Bin\回收站的存放位置,用户删除的文件会被放入此目录(在文件资源管理器中显示为“回收站”)。

3. 用户目录

每个用户的目录(如 C:\Users\Username\)通常包含几个默认的子目录,用于组织个人文件:

目录描述
Documents存放用户文档的默认目录。
Downloads存放下载文件的默认目录。
Desktop存放用户桌面文件和快捷方式的目录。
Pictures存放用户图片和图像文件的目录。
Music存放用户音乐文件和音频的目录。
Videos存放用户视频文件的目录。
AppData存放应用程序数据的目录。此目录通常是隐藏的,分为三个子目录:
Local: 用于存放特定于本地计算机的应用数据。
Roaming: 用于存放可在不同计算机之间同步的应用数据。
LocalLow: 存放较低权限的应用数据。

4. 系统目录

  • C:\Program Files\Common Files\: 存放多个应用共享的组件和库的目录。
  • C:\Windows\System32\: 存放系统级别的 DLL 文件、可执行文件和系统管理工具。

环境变量简介及基本操作

1. 环境变量的作用

  • 配置系统和应用行为:环境变量可以用来指定软件的运行参数,例如 Java 的 JAVA_HOME 环境变量。
  • 路径配置PATH 环境变量定义了操作系统查找可执行文件的路径,允许用户在命令行中输入命令而不需要指定其完整路径。
  • 用户信息:保存用户的临时文件目录、主目录以及其他个性化信息。
  • 控制程序行为:许多应用程序会依据环境变量的值来决定其行为或优化配置。

2. 常见的环境变量

以下是一些常用的 Windows 环境变量及其描述:

变量名描述
PATH包含程序可执行文件所在目录的列表,用于查找可执行文件。
USERPROFILE当前用户的主目录,通常为 C:\Users\用户名
TEMP存放临时文件的目录路径,通常指向 C:\Users\用户名\AppData\Local\Temp
SystemRootWindows 操作系统的安装目录,通常为 C:\Windows
ProgramFiles存放程序文件的默认目录,通常为 C:\Program Files
USERNAME当前登录用户的用户名。
HOMEPATH当前用户的主目录的相对路径。
COMSPEC默认命令解释器的路径,通常为 C:\Windows\System32\cmd.exe

3. 查看和设置环境变量

3.1 查看环境变量

要查看当前的环境变量,可以通过命令行或图形用户界面来进行。

  • 使用命令行

    • 打开命令提示符(cmd),并输入命令:
       

      bash复制

      set
    • 这会列出所有当前环境变量及其值。
  • 使用图形用户界面

    1. 右键点击“此电脑”或“我的电脑”,选择“属性”。
    2. 在左侧,选择“高级系统设置”。
    3. 点击“环境变量”按钮,查看用户和系统的环境变量。
3.2 设置环境变量
  • 使用命令行

    • 在命令提示符下,可以使用 set 命令来设置临时环境变量(仅在当前会话有效):
      set VARIABLE_NAME=value 
    • 如果希望设置永久环境变量,则需要使用 setx 命令:
      setx VARIABLE_NAME "value" 
    • 例如,设置 Java 的 JAVA_HOME 变量:
      setx JAVA_HOME "C:\Program Files\Java\jdk-XX" 
  • 使用图形用户界面

    1. 按照上面的步骤打开环境变量窗口。
    2. 在用户变量或系统变量部分,点击“新建”以添加新变量,或选择已有的变量并点击“编辑”进行修改。
    3. 输入变量名和变量值,点击“确定”。

4. 环境变量注意事项

  • 变量名区分大小写:虽然 Windows 的环境变量不严格区分大小写,但在某些情况下,父子系统(例如 WSL)中可能会受到影响。
  • 路径分隔符:在 PATH 变量中,路径之间用分号 (;) 分隔。
  • 重启程序:更改了环境变量后,通常需要重启相关程序才能使更改生效。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/479565.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UE5 实现组合键触发事件的方法

因为工作原因。 需要用大括号{和}来触发事件 但是在蓝图中搜了一下,发现键盘事件里根本就没有{}这两个键。 花费了一下午,终于找到解决的方法了,也就是增强输入的弦操作 首先创建一个项目 纯蓝图或者C都可行 进入到内容浏览器的默认页面 …

使用Github Action将Docker镜像转存到阿里云私有仓库,供国内服务器使用,免费易用

文章目录 一、前言二、 工具准备:三、最终效果示例四、具体步骤第一大部分是配置阿里云1. 首先登录阿里云容器镜像服务 [服务地址](https://cr.console.aliyun.com/cn-hangzhou/instances)2. 选择个人版本3. 创建 命名空间4. 进入访问凭证来查看,用户名字…

用两个栈实现队列 剑指offer

题目描述 用两个栈实现一个队列。队列声明如下图,请实现它的两个函数appendTail和deleteHead,分别完成在队尾插入节点和队头删除节点的功能。 代码实现 测试用例 相关题目

本地推流,服务器拉流全流程

本地推流,服务器拉流全流程 环境准备:准备一台服务器,其中openssl最好为1.1.1版本(可以直接使用ubuntu20.04操作系统) 服务器拉流 1、 安装环境依赖 sudo apt-get update sudo apt-get install unzip sudo apt-get…

打开windows 的字符映射表

快捷键 win R 打开资源管理器 输入: charmap 点击确定

Elasticsearch对于大数据量(上亿量级)的聚合如何实现?

大家好,我是锋哥。今天分享关于【Elasticsearch对于大数据量(上亿量级)的聚合如何实现?】面试题。希望对大家有帮助; Elasticsearch对于大数据量(上亿量级)的聚合如何实现? 1000道 …

解决首次加载数据空指针异常

起初效果&#xff1a; 使用async...await异步加载数据 最终效果&#xff1a; 代码&#xff1a; <template><div class"user-list-container"><!-- 加载状态 --><div v-if"loading" class"loading">正在加载用户数据..…

RTR Chaptor10 上

局部光照 面光源光泽材质一般光源形状 环境光照球面函数和半球函数简单表格形式球面基底球面径向基函数球面高斯函数球谐函数其他球面表示 半球基底AHD 基底辐射法向映射/《半条命2 》基底半球谐波 / H-Basis 在第9章中&#xff0c;我们讨论了基于物理的材质的相关理论&#xf…

若依框架部署在网站一个子目录下(/admin)问题(

部署在子目录下首先修改vue.config.js文件&#xff1a; 问题一&#xff1a;登陆之后跳转到了404页面问题&#xff0c;解决办法如下&#xff1a; src/router/index.js 把404页面直接变成了首页&#xff08;大佬有啥优雅的解决办法求告知&#xff09; 问题二&#xff1a;退出登录…

3DMAX带孔绞线插件使用方法详解

3DMAX带孔绞线插件&#xff0c;一键创建自定义形状孔洞的绞线。 【版本要求】 3dMax 2016及更高 【安装方法】 解压缩后将插件文件&#xff08;.mcg&#xff09;拖动到3dMax视口中&#xff0c;自动完成安装。 【使用方法】 1.用样条线绘制孔洞的1/2形状。 2.点击3dMax“…

阿里发布 EchoMimicV2 :从数字脸扩展到数字人 可以通过图片+音频生成半身动画视频

EchoMimicV2 是由阿里蚂蚁集团推出的开源数字人项目&#xff0c;旨在生成高质量的数字人半身动画视频。以下是该项目的简介&#xff1a; 主要功能&#xff1a; 音频驱动的动画生成&#xff1a;EchoMimicV2 能够使用音频剪辑驱动人物的面部表情和身体动作&#xff0c;实现音频与…

urllib3只支持OpenSSL1.1.1

1 现象 urllib3 v2.0 only supports OpenSSL 1.1.1, currently the ssl module is compiled with OpenSSL 1.1.0j 20 Nov 2018.2 解决方法 降低urllib3的版本。 从pycharm中&#xff0c;先卸载原有的urllib3版本。 菜单“File|Settings|Project:python|Project Interprete…

spark 写入mysql 中文数据 显示?? 或者 乱码

目录 前言 Spark报错&#xff1a; 解决办法&#xff1a; 总结一下&#xff1a; 报错&#xff1a; 解决&#xff1a; 前言 用spark写入mysql中&#xff0c;查看中文数据 显示?? 或者 乱码 Spark报错&#xff1a; Sat Nov 23 19:15:59 CST 2024 WARN: Establishing SSL…

微信小程序条件渲染与列表渲染的全面教程

微信小程序条件渲染与列表渲染的全面教程 引言 在微信小程序的开发中,条件渲染和列表渲染是构建动态用户界面的重要技术。通过条件渲染,我们可以根据不同的状态展示不同的内容,而列表渲染则使得我们能够高效地展示一组数据。本文将详细讲解这两种渲染方式的用法,结合实例…

ctfshow

1,web153 大小写绕过失败 使用.user.ini 来构造后⻔ php.ini是php的⼀个全局配置⽂件&#xff0c;对整个web服务起作⽤&#xff1b;⽽.user.ini和.htaccess⼀样是⽬录的配置⽂件&#xff0c;.user.ini就是⽤户⾃定义的⼀个php.ini&#xff0c;我们可以利⽤这个⽂件来构造后⻔和…

【大数据学习 | Spark-SQL】Spark-SQL编程

上面的是SparkSQL的API操作。 1. 将RDD转化为DataFrame对象 DataFrame&#xff1a; DataFrame是一种以RDD为基础的分布式数据集&#xff0c;类似于传统数据库中的二维表格。带有schema元信息&#xff0c;即DataFrame所表示的二维表数据集的每一列都带有名称和类型。这样的数…

DINO-X:一种用于开放世界目标检测与理解的统一视觉模型

摘要 本文介绍了由IDEA Research开发的DINO-X&#xff0c;这是一个统一的以对象为中心的视觉模型&#xff0c;具有迄今为止最佳的开放世界对象检测性能。DINO-X采用了与Grounding DINO 1.5 [47]相同的基于Transformer的编码器-解码器架构&#xff0c;以追求面向开放世界对象理…

MySQL系列之远程管理(安全)

导览 前言Q&#xff1a;如何保障远程登录安全一、远程登录的主要方式1. 用户名/口令2. SSH3. SSL/TLS 二、使用TLS协议加密连接1. 服务端2. 客户端 结语精彩回放 前言 在我们的学习或工作过程中&#xff0c;作为开发、测试或运维人员&#xff0c;经常会通过各类客户端软件&…

扫振牙刷设计思路以及技术解析

市面上目前常见的就两种&#xff1a;扫振牙刷和超声波牙刷 为了防水&#xff0c;表面还涂上了一层防水漆 一开始的电池管理芯片&#xff0c;可以让充电更加均衡。 如TP4056 第一阶段以恒流充电&#xff1b;当电压达到预定值时转入第二阶段进行恒压充电&#xff0c;此时电流逐…

Hot100 - 除自身以外数组的乘积

Hot100 - 除自身以外数组的乘积 最佳思路&#xff1a; 此问题的关键在于通过两次遍历&#xff0c;分别计算从左侧和右侧开始的累积乘积&#xff0c;以此避免使用额外的除法操作。 时间复杂度&#xff1a; 该算法的时间复杂度为 O(n)&#xff0c;因为我们只需要遍历数组两次。…