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

【C++系列】STL容器——vector类的例题应用(12)

前言

大家好吖,欢迎来到 YY 滴C++系列 ,热烈欢迎!本章主要内容面向接触过C++的老铁,下面是收纳的一些例题与解析~
主要内容含:
在这里插入图片描述

目录

    • 【例1] 只出现一次的数字i(范围for与模等(^=))
    • 【例2] 杨辉三角OJ(resize & vector类型的vector)
    • 【例3] 电话号码的数字组合(多路递归)

【例1] 只出现一次的数字i(范围for与模等(^=))

  • 给出一段数字(例:223344566)(数字出现均两次,只有一个数字只出现一次),并保存在vector中,找到这个出现一次的数字
  • 核心思路:【^=】相同的数模等后为1,最后结果只剩下这个只出现一次的数字
class Solution 
{
public:int singleNumber(vector<int>& nums){int value = 0;for(auto e : v){value ^= e; }return value;}
};

【例2] 杨辉三角OJ(resize & vector类型的vector)

  • 设计思路图示:
    1. 初始化每一行所有元素都为“1”
    1. 根据杨辉三角特性调整中间元素在这里插入图片描述
      在这里插入图片描述
// 涉及resize / operator[]
// 核心思想:找出杨辉三角的规律,发现每一行头尾都是1,中间第[j]个数等于上一行[j-1]+[j]
class Solution 
{public:vector<vector<int>> generate(int numRows)//传入的参数表示要求杨辉三角的行数{vector<vector<int>> vv(numRows);//初始化每一行所有元素都为“1”for(int i = 0; i < numRows; ++i){vv[i].resize(i+1, 1);}for(int i = 2; i < numRows; ++i)//根据杨辉三角特性调整中间元素{for(int j = 1; j < i; ++j){vv[i][j] = vv[i-1][j] + vv[i-1][j-1];}}return vv;}
};

【例3] 电话号码的数字组合(多路递归)

  • 题目要求输入所示:在这里插入图片描述
  • 解题思路:
  • 首先根据题目要求,我们明白要设置一个string,存储【abc】【def】等等字符串
  • 当我们输入"258时",根据题意,我们要做到如图所示【abc】【jkl】【tuv】三者的全排列
  • 我们发现其中可以用 多路递归 的方式来访问
  • 1.图中 aj先分别访问了t u v,得到ajt,aju,ajv
  • 2.随后放回,a访问k,再同(1)步骤,分别访问t u v,得到 akt,aku,akv ,同理…
    在这里插入图片描述
  • 代码细节:
    1. 我们一开始要设置【字串:digits】【层次:level】【存储 结合后返回的一系列串:combineStr】【给定vector:v】
    1. 我们发现,每一层都要涉及到 多路递归 ,于是我们要根据 层数 进行 for循环 for循环
    1. 我们发现,递归后得到的字串的 元素个数 层数 是相同的
    1. 注意点: 要将字符类转换成整型(-“0”),以便于访问对应“电话按键”strA中的字符串
	string strA[10] = { "","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz" };// 输入的数字组合    当前层次      结合后的新字符串      存储所有的全排列组合void Combine(string digits, int level, string combineStr, vector<string&> v){if (level == digits.size()) //递归后得到的字串的元素个数与层数是相同的{v.push_back(combineStr);//当到最后一层的时候,将新字符串尾插进vector中return;}int num = digits[level] - '0';//将字符类转换成整型string str = strA[num];//访问对应“电话按键”strA中的字符串for (size_t i = 0; i < str.size(); ++i) //每一层都要涉及到多路递归,于是我们要根据层数进行for循环{Combine(digits, level + 1, combineStr + str[i], v);}
}

相关文章:

【C++系列】STL容器——vector类的例题应用(12)

前言 大家好吖&#xff0c;欢迎来到 YY 滴C系列 &#xff0c;热烈欢迎&#xff01;本章主要内容面向接触过C的老铁&#xff0c;下面是收纳的一些例题与解析~ 主要内容含&#xff1a; 目录 【例1] 只出现一次的数字i&#xff08;范围for与模等&#xff08;^&#xff09;)【例2]…...

常用应用安装教程---在centos7系统上安装JDK8

在centos7系统上安装JDK8 1&#xff1a;进入oracle官网下载jdk8的tar.gz包&#xff1a; 2&#xff1a;将下载好的包上传到每个服务器上&#xff1a; 3&#xff1a;查看是否上传成功&#xff1a; [rootkafka01 ~]# ls anaconda-ks.cfg jdk-8u333-linux-x64.tar.gz4&#xf…...

阿里云/腾讯云国际站代理:国际腾讯云的优势

国际腾讯云具有以下优势&#xff1a; 1. 全球覆盖&#xff1a;腾讯云在全球拥有30个区域&#xff0c;覆盖6个大洲&#xff0c;能够提供全球范围的云服务&#xff0c;满足不同地区用户的需求。 2. 大规模网络&#xff1a;腾讯云拥有庞大的全球网络&#xff0c;包括多个高速骨干…...

【软件教程】如何用C++检查TCP或UDP端口是否被占用

一、检查步骤 使用socket函数创建socket_fd套接字。使用sockaddr_in结构体配置协议和端口号。使用bind函数尝试与端口进行绑定&#xff0c;成功返回0表示未被占用&#xff0c;失败返回-1表示已被占用。 二、CODE 其中port需要修改为想要检测的端口号&#xff0c;也可以将代码…...

Flutter报错RenderBox was not laid out: RenderRepaintBoundary的解决方法

文章目录 报错问题分析问题原因 解决办法RenderBox was not laid out错误的常见原因常见原因解决方法 RenderRepaintBoundaryRenderRepaintBoundary用途 报错 RenderBox was not laid out: RenderRepaintBoundary#d4abf relayoutBoundaryup1 NEEDS-PAINT NEEDS-COMPOSITING-BI…...

0基础学习PyFlink——用户自定义函数之UDAF

大纲 UDAF入参并非表中一行&#xff08;Row&#xff09;的集合计算每个人考了几门课计算每门课有几个人考试计算每个人的平均分计算每课的平均分计算每个人的最高分和最低分 入参是表中一行&#xff08;Row&#xff09;的集合计算每个人的最高分、最低分以及所属的课程计算每课…...

MVC架构_Qt自己的MV架构

文章目录 前言模型/视图编程1.先写模型2. 视图3. 委托 例子&#xff08;Qt代码&#xff09;例1 查询本机文件系统例2 标准模型项操作例3 自定义模型示例:军事武器模型例4 只读模型操作示例例5 选择模型操作例6 自 定 义委 托(在testSelectionModel上修改) 前言 在Qt中&#xf…...

CentOS - 安装 Elasticsearch

"Elasticsearch"是一个流行的开源搜索和分析引擎&#xff0c;它可以用于实时搜索、日志和事件数据分析等任务。以下是在 CentOS 上安装 Elasticsearch 的基本步骤&#xff1a; 安装 Java&#xff1a; Elasticsearch 是基于 Java 的应用程序&#xff0c;所以首先需要…...

IDEA 断点高阶

一、按钮介绍 1.1 补充 返回断点处&#xff1a; 设置debug配置&#xff1a; 二、增加/切换debugger视图 三、window快捷键 所在行处&#xff1a; CtrlF8断点属性编辑&#xff1a; CtrlShiftF8 四、一些常用的高级功能 4.1 查看对象内存-Attach memory agent 1.勾选Atta…...

Qt中的单例模式

QT单例类管理信号和槽函数 Chapter1 Qt中的单例模式一、什么是单例模式&#xff1f;二、Qt中单例模式的实现2.1、静态成员变量2.2、静态局部变量2.3、Q_GLOBAL_STATIC 宏实例2 三、使用场景四、注意事项 Chapter2 QT单例类管理信号和槽函数一、创建单例类二、主界面添加组件三、…...

ROS自学笔记十五:URDF工具

要使用工具之前&#xff0c;首先需要安装&#xff0c;安装命令: sudo apt install liburdfdom-tools 1.check_urdf 语法检查 在ROS中&#xff0c;你可以使用.check_urdf命令行工具来对URDF&#xff08;Unified Robot Description Format&#xff09;文件进行语法检查和验证。…...

Pytorch代码入门学习之分类任务(三):定义损失函数与优化器

一、定义损失函数 1.1 代码 criterion nn.CrossEntropyLoss() 1.2 损失函数简介 神经网络的学习通过某个指标表示目前的状态&#xff0c;然后以这个指标为基准&#xff0c;寻找最优的权重参数。神经网络以某个指标为线索寻找最优权重参数&#xff0c;该指标称为损失函数&am…...

【Linux】安装VMWare虚拟机(安装配置)和配置Windows Server 2012 R2(安装配置连接vm虚拟机)以及环境配置

前言&#xff1a; 一、操作系统简介 1、什么是操作系统 操作系统是一种软件&#xff0c;它管理计算机系统的硬件和软件资源&#xff0c;并提供给用户和应用程序接口&#xff0c;使它们能够与计算机系统交互和运行。操作系统负责调度和分配系统资源&#xff0c;例如处理器、内存…...

Python入口顶部人体检测统计进出人数

程序示例精选 Python入口顶部人体检测统计进出人数 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对《Python入口顶部人体检测统计进出人数》编写代码&#xff0c;代码整洁&#xff0c;规则&a…...

移动端自动化-Appium元素定位

文章目录 Appium元素定位第一类&#xff1a;属性定位第二类&#xff1a;路径定位 常见问题理解appium server 和 appium inspector 以及 appium-python-client的关系 appium是跨平台的&#xff0c;支持OSX&#xff0c;Windows以及Linux系统。它允许测试人员在不同的平台&#x…...

menuconfig 图形化配置原理说明三

一. 简介 本文继续简单了解一下&#xff0c;uboot的图形化配置原理。具体了解 Kconfig语法。 之前文章了解了几个 Kconfig语法。地址如下&#xff1a; menuconfig 图形化配置原理说明二-CSDN博客 二. menuconfig 图形化配置之 Kconfig语法 1. config 条目 顶层 Kconfig …...

Ansible简介

环境 控制节点&#xff1a;Ubuntu 22.04Ansible 2.10.8管理节点&#xff1a;CentOS 8 组成 Ansible环境主要由三部分组成&#xff1a; 控制节点&#xff08;Control node&#xff09;&#xff1a;安装Ansible的节点&#xff0c;在此节点上运行Ansible命令管理节点&#xff…...

Tomcat+nginx负载均衡和动静分离

Nginx实现负载均衡和动静分离的原理 Nginx实现负载均衡是通过反向代理实现Nginx服务器作为前端&#xff0c;Tomcat服务器作为后端&#xff0c;web页面请求由Nginx服务来进行转发。 但是不是把所有的web请求转发&#xff0c;而是将静态页面请求Ncinx服务器自己来处理&#xff0c…...

全景环视AVM标定

目录 一、前言 二、鱼眼模型 三、标定流程 四、角点提取 4.1 亚像素坐标计算...

【JavaScript】leetcode链表相关题解

【JavaScript】leetcode链表相关题解 一、什么是链表&#xff1f;二、Javascript中的链表三、leetcode相关链表2.两数相加237.删除链表中的节点206.反转链表 &#x1f48e;个人主页: 阿选不出来 &#x1f48e;个人简介: 大三学生&#xff0c;热爱Web前端&#xff0c;随机掉落学…...

多模态探索:OpenClaw+Qwen3-4B分析截图中的文字与图表数据

多模态探索&#xff1a;OpenClawQwen3-4B分析截图中的文字与图表数据 1. 为什么需要自动化处理截图数据 作为一名经常需要处理学术论文的研究者&#xff0c;我长期被一个问题困扰&#xff1a;当阅读PDF论文时&#xff0c;遇到有价值的图表数据&#xff0c;传统方法只能手动录…...

PINN在流体力学中的应用:Burger方程参数反演全流程解析

PINN在流体力学中的革命性实践&#xff1a;Burger方程参数反演深度指南 当计算流体力学遇上深度学习&#xff0c;一场静悄悄的革命正在发生。传统数值方法在求解复杂流体问题时往往面临计算成本高、适应性差的瓶颈&#xff0c;而物理信息神经网络&#xff08;PINN&#xff09;的…...

深度测评|2026AI短剧出海服务商

2026 年短剧出海进入全球化传播阶段&#xff0c;声画同步与多语种适配成为短剧出海的基础核心能力&#xff0c;更是保障海外受众观剧体验的关键要素。相较于国内市场&#xff0c;海外受众来自不同的语言区域&#xff0c;对多语种配音的自然度、口型同步的精准度、台词翻译的适配…...

【GUI-Agent】阶跃星辰 GUI-MCP 解读---()---执行层

基础示例&#xff1a;单工作表 Excel 转 TXT 以下是将一个 Excel 文件中的第一个工作表转换为 TXT 的完整步骤&#xff1a; 1. 加载并读取Excel文件 from spire.xls import * from spire.xls.common import * workbook Workbook() workbook.LoadFromFile("示例.xlsx"…...

SEO优化有哪些快速有效的方法_自媒体如何通过SEO快速提升曝光度

SEO优化有哪些快速有效的方法 在当前数字化时代&#xff0c;自媒体如何通过SEO快速提升曝光度成为了许多内容创作者和网络营销人员关注的焦点。搜索引擎优化&#xff08;SEO&#xff09;不仅能够提升网站的自然排名&#xff0c;还能有效增加自媒体的曝光度。具体有哪些快速有效…...

comsol三次谐波,本征手性BIC,远场偏振图,手性透射曲线,二维能带图,Q因子图,电场图

comsol三次谐波&#xff0c;本征手性BIC,远场偏振图&#xff0c;手性透射曲线&#xff0c;二维能带图&#xff0c;Q因子图&#xff0c;电场图&#xff0c;所见即所得 大子刊nc复现&#xff0c;在连续介质中束缚态驱动下具有最大和可调谐手征光学响应的平面手征超表面当平面超表…...

突破系统休眠限制:MouseJiggler让Windows保持持续活跃的全方位指南

突破系统休眠限制&#xff1a;MouseJiggler让Windows保持持续活跃的全方位指南 【免费下载链接】mousejiggler Mouse Jiggler is a very simple piece of software whose sole function is to "fake" mouse input to Windows, and jiggle the mouse pointer back and…...

千问3.5-27B保姆级教程:从实例ID获取https访问地址的完整流程

千问3.5-27B保姆级教程&#xff1a;从实例ID获取https访问地址的完整流程 1. 前言&#xff1a;认识Qwen3.5-27B模型 Qwen3.5-27B是Qwen官方发布的视觉多模态理解模型&#xff0c;它不仅能够进行文本对话&#xff0c;还能理解图片内容。这个模型已经在4张RTX 4090 D 24GB显卡的…...

AI辅助开发:利用快马平台为520888·moc中创造交互式视觉艺术效果

AI辅助开发&#xff1a;利用快马平台为520888moc中创造交互式视觉艺术效果 最近在做一个创意项目&#xff0c;需要把"520888moc中"这个特殊字符串做成一个酷炫的交互式视觉艺术效果。作为一个前端开发新手&#xff0c;我一开始有点无从下手&#xff0c;直到发现了In…...

安全是跑出来的:从萝卜快跑看自动驾驶的“成人礼”

近日&#xff0c;武汉市区部分“萝卜快跑”自动驾驶车辆出现突发停驶异常状况&#xff0c;部分车辆在道路上停止运行&#xff0c;导致乘客被困、交通受阻。官方通报显示&#xff0c;此次事件为系统故障触发的车辆停滞&#xff0c;所有乘客已安全撤离&#xff0c;无人员伤亡。作…...