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

leetcode刷题 - 数组理论基础

  1. 数组是内存空间连续存储、相同类型数据的集合。
  2. 遍历方式:下标索引
    • 下标:从 0 开始
  3. 数组的元素不能删除,只能覆盖

定义一维数组:

int arr0[10];
int arr1[10] = { 100, 90,80,70,60,50,40,30,20,10 };
int arr2[ ] = { 100,90,80,70,60,50,40,30,20,10 };cout << "整个数组所占内存空间为: " << sizeof(arr1) << endl;
cout << "每个元素所占内存空间为: " << sizeof(arr1[0]) << endl;
cout << "数组的元素个数为: " << sizeof(arr1) / sizeof(arr1[0]) << endl;

二维数组:

int arr[2][3];
int arr1[2][3] = {{1,2,3},{4,5,6}};
int arr2[2][3] = {1,2,3,4,5,6};
int arr3[ ][3] = {1,2,3,4,5,6};
int arr1[2][3] = {{1,2,3},{4,5,6}};
cout << "二维数组大小: " << sizeof(arr1) << endl;
cout << "二维数组一行大小: " << sizeof(arr1[0]) << endl;
cout << "二维数组元素大小: " << sizeof(arr1[0][0]) << endl;cout << "二维数组行数: " << sizeof(arr1) / sizeof(arr1[0]) << endl;
cout << "二维数组列数: " << sizeof(arr1[0]) / sizeof(arr1[0][0]) << endl;

容器-vector:

操作操作
创建vector<int> vec = {1,2,3,4,5,6}
访问使用下标 [ ]at() 访问元素
返回指向容器中第一个元素的迭代器vec.begin()
返回指向容器最后一个元素所在位置后一个位置的迭代器vec.end()
尾插vec.push_back(7)
插入vec.insert(7)
尾删vec.pop_back()
返回第一个元素int x = vec.front()
返回最后一个元素int y = vec.back()
元素个数int size = vec.size()
删除元素vec.erase(position)
清空vec.clear()
重新指定大小vec.resize(8)
排序使用sort函数:sort(vec.begin(), vec.end())
反转使用reverse函数:reverse(vec.begin(), vec.end())
#include <vector>
vector<int> vec;
vector<int> vec1(5);// 包含5个元素,默认为0
vector<int> vec2(5, 10);//包含5个元素,每个值为10
vector<int> vec3 = {1,2,3,4,5,6};// 尾插
vec.push_back(7);// 将 7 添加到 vec1的末尾// 尾删
vec.pop_back();// 访问元素
int x = vec[0]; // 访问第1个元素
int y = vec.at(1); // 访问第2个元素// 插入元素
vec.insert(vec.begin(), 3);//指定位置插入元素
vec.insert(vec.begin(), 3, 10); // 指定位置 vec.begin() 插入 3 个值为 10 的元素
vec.insert(vec.begin(), vec.begin(), vec.end()); // 从vec的头部开始,连续插入vec区间[begin, end]的所有元素// 获取元素数量
int size = vec.size();// 调整vector的大小
vec.resize(10);// 将 vec调整为元素个数为10个的vector// 删除元素
vec.erase(3); // 删除第4个元素// 清空vector
vec.clear();// 迭代访问
for(auto it = vec.begin(); it != vec.end(); ++it){cout << *it << " ";
}// 二维操作
vector<vector<int>> vec;
vector<vector<int>> vec(5, vector<int>(3));//定义一个5行3列,默认初始化为0的二维vector
vector<vector<int>> vec(5, vector<int>(3,1));//定义一个5行3列值全为1的二维vectorint rows = vec.size(); // 行数
int cols = vec[0].size(); // 列数(假设非空);或 vec[i].size()

相关文章:

leetcode刷题 - 数组理论基础

数组是内存空间连续存储、相同类型数据的集合。遍历方式&#xff1a;下标索引 下标&#xff1a;从 0 开始 数组的元素不能删除&#xff0c;只能覆盖 定义一维数组&#xff1a; int arr0[10]; int arr1[10] { 100, 90,80,70,60,50,40,30,20,10 }; int arr2[ ] { 100,90,80,7…...

Jetpack Compose `ACTION_HOVER_EXIT` 事件异常解决方案

Jetpack Compose 1.6.6 版本中 ACTION_HOVER_EXIT 事件异常解决方案 问题现象 在 Android 应用开发中使用 Jetpack Compose 1.6.6 版本时&#xff0c;部分设备会出现以下崩溃日志&#xff1a; java.lang.IllegalStateException: The ACTION_HOVER_EXIT event was not cleare…...

Vuue2 element-admin管理后台,Crud.js封装表格参数修改

需求 表格数据调用列表接口&#xff0c;需要多传一个 Type字段&#xff0c;而Type字段的值 需要从跳转页面Url上面获取到&#xff0c;并赋值给Type&#xff0c;再传入列表接口中&#xff0c;最后拿到表格数据并展示 遇到的问题 需求很简单&#xff0c;但是因为表格使用的是统…...

Tiktok矩阵运营中使用云手机的好处

Tiktok矩阵运营中使用云手机的好处 云手机在TikTok矩阵运营中能够大幅提高管理效率、降低封号风险&#xff0c;并节省成本&#xff0c;是非常实用的运营工具。TikTok矩阵运营使用云手机有很多优势&#xff0c;特别是对于需要批量管理账号、提高运营效率的团队来说。以下是几个…...

Linux下调试器gdb_cgdb使用

文章目录 一、样例代码二、使用watchset var确定问题原因条件断点 一、样例代码 #include <stdio.h>int Sum(int s, int e) {int result 0;int i;for(i s; i < e; i){result i;}return result; }int main() {int start 1;int end 100;printf("I will begin…...

Vite环境下解决跨域问题

在 Vite 开发环境中&#xff0c;可以通过配置代理来解决跨域问题。以下是具体步骤&#xff1a; 在项目根目录下找到 vite.config.js 文件&#xff1a;如果没有&#xff0c;则需要创建一个。配置代理&#xff1a;在 vite.config.js 文件中&#xff0c;使用 server.proxy 选项来…...

超简单:Linux下opencv-gpu配置

1.下载opencv和opencv_contrib安装包 1&#xff09;使用命令下 git clone https://github.com/opencv/opencv.git -b 4.9.0 git clone https://github.com/opencv/opencv_contrib.git -b 4.9.02&#xff09;复制链接去GitHub下载然后上传到服务器 注意&#xff1a;看好版本&a…...

【matplotlib参数调整】

1. 基本绘图函数常用参数 折线图 import matplotlib.pyplot as plt import numpy as npx np.linspace(0, 10, 100) y np.sin(x)plt.plot(x, y, colorred, linestyle--, linewidth2,markero, markersize5, labelsin(x), alpha0.8) plt.title(折线图示例) plt.xlabel(X 轴) p…...

CSS语言的数据挖掘

数据挖掘与CSS语言的结合 引言 在现代社会&#xff0c;数据已然成为企业和个人决策的重要基础。通过有效的数据挖掘技术&#xff0c;能够从海量数据中提取出有价值的信息。在这个过程中&#xff0c;编程语言的选择至关重要。尽管CSS&#xff08;层叠样式表&#xff09;主要用…...

如何判断一条连接是TCP连接还是UDP连接?

在网络通信中&#xff0c;判断一条连接是UDP连接还是TCP连接&#xff0c;可以从协议特性、端口使用、应用场景以及抓包分析等方面入手&#xff1a; 1、基于协议头标志判断&#xff1a; TCP和UDP协议在网络层的头部信息存在差异。在实际的网络通信数据中&#xff0c;通过获取数…...

泰博云平台solr接口存在SSRF漏洞

免责声明&#xff1a;本号提供的网络安全信息仅供参考&#xff0c;不构成专业建议。作者不对任何由于使用本文信息而导致的直接或间接损害承担责任。如涉及侵权&#xff0c;请及时与我联系&#xff0c;我将尽快处理并删除相关内容。 漏洞描述 SSRF漏洞是一种在未能获取服务器…...

31天Python入门——第20天:魔法方法详解

你好&#xff0c;我是安然无虞。 文章目录 魔法方法1. __new__和__del__2. __repr__和__len__3. __enter__和__exit__4. 可迭代对象和迭代器5. 中括号[]数据操作6. __getattr__、__setattr__ 和 __delattr__7. 可调用的8. 运算符 魔法方法 魔法方法: Python中的魔法方法是一类…...

ubantu22.04中搭建地图开发环境(qt5.15.2 + osg3.7.0 + osgearth3.7.1 + osgqt)

一、下载安装qt5.15.2 二、下载编译安装osg3.7.0 三、下载编译安装osgearth3.7.1 四、下载编译安装osgqt 五、二三维地图显示demo开发 六、成果展示&#xff1a; 已有功能&#xff1a;加载了dom影像、可以进行二三维地图切换显示、二维地图支持缩放和平移、三维地图支持旋转…...

Linux驱动开发 块设备

目录 序言 1.块设备结构 分区(gendisk) 请求(request) 请求队列 1. 多队列架构 2. 默认限制与扩展 bio 2.块设备的使用 头文件与宏定义 blk-mq 相关结构和操作 块设备操作函数 模块初始化函数 模块退出函数 3.总结 序言 块设备&#xff08;如硬盘、虚拟盘&#x…...

简易Minecraft python

废话多说 以下是一个基于Python和ModernGL的简化版3D沙盒游戏框架。由于代码长度限制&#xff0c;这里提供一个核心实现&#xff08;约500行&#xff09;&#xff0c;您可以通过添加更多功能和内容来扩展它&#xff1a; python import pygame import moderngl import numpy a…...

Bethune X 6发布:为小规模数据库环境打造轻量化智能监控巡检利器

3月31日&#xff0c;“奇点时刻・数智跃迁 -- 云和恩墨2025春季产品发布会”通过视频号直播的方式在线上举办。发布会上&#xff0c;云和恩墨副总经理熊军正式发布 zCloud 6.7和zData X 3.3两款产品新版本&#xff0c;同时也带来了 Bethune X 6——这款面向小规模数据库环境的智…...

OpenCV 图形API(15)计算两个矩阵(通常代表二维向量的X和Y分量)每个对应元素之间的相位角(即角度)函数phase()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 描述 cv::gapi::phase 是 OpenCV 的 G-API 模块中的一个函数&#xff0c;用于计算两个矩阵&#xff08;通常代表二维向量的X和Y分量&#xff09;每个对应元…...

一文理解什么是中值模糊

目录 中值模糊的概念 中值模糊&#xff08;Median Blur&#xff09; 中值模糊的原理 示例&#xff1a;33 中值模糊 什么是椒盐噪声 椒盐噪声&#xff08;Salt-and-Pepper Noise&#xff09; 椒盐噪声的特点 OpenCV 中的 cv2.medianBlur() 函数格式 示例代码 中值模糊…...

游戏引擎学习第192天

仓库:https://gitee.com/mrxiao_com/2d_game_4 回顾 我们现在正在编写一些界面代码&#xff0c;主要是用户界面&#xff08;UI&#xff09;&#xff0c;不过这里的UI并不是游戏内的用户界面&#xff0c;而是为开发者设计的用户界面。我们正在尝试做一些小的UI元素&#xff0c…...

通信数据记录仪-产品概念ID

总结: 1、支持高速CAN、支持容错CAN、支持单线CAN(理解是支持不同的协议,CANFD、CAN2.0和LIN?) 2、 通过上位机设计时间...

Mac VM 卸载 win10 安装win7系统

卸载 找到相应直接删除&#xff08;移动到废纸篓&#xff09; 可参考&#xff1a;mac如何卸载虚拟机win 下载 win7下载地址...

基于图扑 HT 技术的电缆厂 3D 可视化管控系统深度解析

在当今数字化浪潮席卷制造业的大背景下&#xff0c;图扑软件&#xff08;Hightopo&#xff09;凭借其自主研发的强大技术&#xff0c;为电缆厂打造了一套先进的 3D 可视化管控系统。该系统基于 HT for Web 技术&#xff0c;为电缆厂的数字化转型提供了有力支撑。 HT 技术核心架…...

《AI大模型开发笔记》MCP快速入门实战(一)

目录 1. MCP入门介绍 2. Function calling技术回顾 3. 大模型Agent开发技术体系回顾 二、 MCP客户端Client开发流程 1. uv工具入门使用指南 1.1 uv入门介绍 1.2 uv安装流程 1.3 uv的基本用法介绍 2.MCP极简客户端搭建流程 2.1 创建 MCP 客户端项目 2.2 创建MCP客户端…...

C++多态:从青铜九鼎到虚函数表的千年演化密码

一、青铜礼器中的多态启示——九鼎的形与神 在故宫博物院深处&#xff0c;九尊青铜鼎静静矗立。这些跨越三千年的礼器&#xff0c;表面斑驳的铜锈下隐藏着惊人的铸造工艺&#xff1a;鼎足采用分铸法预制&#xff0c;器身主体采用浑铸法一次成型&#xff0c;纹饰运用浮雕与阴刻…...

【愚公系列】《高效使用DeepSeek》051-产品创新研发

🌟【技术大咖愚公搬代码:全栈专家的成长之路,你关注的宝藏博主在这里!】🌟 📣开发者圈持续输出高质量干货的"愚公精神"践行者——全网百万开发者都在追更的顶级技术博主! 👉 江湖人称"愚公搬代码",用七年如一日的精神深耕技术领域,以"…...

常见的ETL工具分类整理

一、开源ETL工具 ‌Kettle&#xff08;Pentaho Data Integration&#xff09;--Spoon‌ 设计及架构&#xff1a;面向数据仓库建模的传统ETL工具。使用方式&#xff1a;C/S客户端模式&#xff0c;开发和生产环境需要独立部署&#xff0c;任务编写、调试、修改都在本地。底层架构…...

Smart Link 技术全面解析

1.1 网络冗余技术的演进与需求 1.2 Smart Link 的核心价值与本文目标 第一章 Smart Link 技术概述 2.1 Smart Link 的应用场景与背景 2.2 Smart Link 的基本概念与组网角色 2.3 Smart Link 与传统技术的对比 第二章 Smart Link 工作原理 3.1 Smart Link 组的构成与运行机…...

React面试常考内容【从宏观到微观】

以下是React面试常考内容的系统梳理,从宏观设计思想到微观实现细节,涵盖高频考点及底层原理: 一、宏观层面:React设计哲学与架构 核心设计理念 • 声明式编程:通过描述UI的最终状态而非操作步骤实现高效开发(如JSX声明结构) • 组件化思想:高内聚低耦合的组件构建模式,…...

栈回溯和离线断点

栈回溯和离线断点 栈回溯&#xff08;Stack Backtrace&#xff09; 栈回溯是一种重建函数调用链的技术&#xff0c;对于分析栈溢出的根本原因非常有价值。 实现方式 // 简单的栈回溯实现示例&#xff08;ARM Cortex-M架构&#xff09; void stack_backtrace(void) {uint32_…...

Roo Code(前身为 Roo Cline)一个 AI 驱动的自主编码代理

Roo Code&#xff08;前身为 Roo Cline&#xff09; Roo Code 是一个 AI 驱动的自主编码代理&#xff0c;它存在于您的编辑器中。它可以&#xff1a; 用自然语言沟通直接在您的工作区读写文件运行终端命令自动化浏览器操作与任何 OpenAI 兼容或自定义的 API/模型集成通过自定…...