自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 问答 (5)
  • 收藏
  • 关注

原创 【华为od刷题(C++)】HJ25 数据分类处理

代码的任务是查找每个整数数据(来自第二组输入)是否作为子串出现在第一组字符串数据中,并将匹配结果按照一定规则输出。(第二组数据的大小)后,进入另一个循环,读取每个整数并将其插入到。(第一组数据的大小)后,进入一个循环,将每个字符串存储到。,累加每个子集的元素个数,得到总的匹配元素个数。这段代码的核心思路是处理两组输入数据:一组是。通过这些数据,我们可以理解输入数据的结构。这是程序的关键部分,主要思路是:对每个。中的整数,查找它是否作为子串出现在。中的每个元素,对于每个元素(假设为。查找子串,然后用二维。

2025-07-05 10:27:09 273

原创 【华为od刷题(C++)】HJ24 合唱队(山脉形子序列问题)

具体来说,我们要找到一个尽可能长的子序列,使得它在某个元素(即“最高点”)之前是递增的,之后是递减的;换句话说,找到一个子序列,它先递增然后递减,并且这个子序列的长度最大;这段代码通过动态规划计算出每个元素的最长递增子序列和最长递减子序列的长度,然后通过这两个序列的结合,求出最大合唱队形的长度,并输出不在合唱队形中的人数。通过动态规划,我们可以高效地计算出山脉形子序列的最大长度,时间复杂度为 O(n),空间复杂度为 O(n),非常适合解决这个问题。,我们也可以计算它作为递减子序列的最大长度;

2025-07-03 19:48:47 641

原创 【华为od刷题(C++)】HJ23 删除字符串中出现次数最少的字符

这段代码的功能是计算输入字符串中出现次数最少的字符的出现次数,并输出所有出现次数大于该最少出现次数的字符。

2025-07-03 18:31:19 229

原创 【华为od刷题(C++)】HJ22 汽水瓶

这段代码的核心思想是模拟一个“矿泉水瓶兑换”的过程,按照一定规则来计算最终通过矿泉水瓶交换所能获得的最大数量。

2025-07-03 17:54:52 138

原创 【华为od刷题(C++)】HJ21 简单密码(哈希表、unordered_map)

它通过哈希函数将键映射到哈希表中的位置,使得数据的查找、插入和删除操作非常高效;该表将小写字母('a' 到 'z')映射到数字('2' 到 '9'),并且特别将大写字母 'Z' 映射为小写字母 'a'的,元素的排列顺序是由哈希函数决定的,因此它不保证按插入顺序或任何其他特定顺序访问元素。这样,通过逐个字符的转换,将输入的字符串按照特定规则进行修改并输出。这段程序的作用是对输入的字符串进行字符映射并打印出结果。(Hash Table)是一种常用的数据结构,用于存储。实现的,提供了高效的键值对存储与查找功能;

2025-07-03 16:24:55 534

原创 【华为od刷题(C++)】HJ20 密码验证合格程序

使用。

2025-07-03 11:21:04 339

原创 【华为od刷题(C++)】HJ19 简单错误记录

这个程序的功能是从标准输入读取文件路径和列信息,生成每个文件名和列信息的组合,并统计每个组合出现的次数;最后,它会输出最后的8个不同的文件名和列组合。如果文件名长度超过16个字符,程序会从文件名的末尾截取最后16个字符,以防文件名过长影响输出。循环读取输入数据,每次读取一个文件路径和列信息;数组中,而列信息存储在。

2025-07-03 10:26:17 289

原创 【华为od刷题(C++)】HJ18 识别有效的IP地址和掩码并进行分类统计

子网掩码用于确定IP地址的网络部分和主机部分,它的作用是将IP地址划分为网络地址和主机地址;子网掩码和IP地址一起定义了一个网络,IP地址用来标识设备,子网掩码用来区分网络部分和主机部分;:是最常见的IP地址格式,由4个数字组成,每个数字的范围从0到255(例如:192.168.1.1);这段代码的主要任务是对输入的IP地址和子网掩码进行格式验证、分类统计和错误处理,是一个较为常见的网络编程任务。:可以考虑添加更多的功能,比如输出IP地址和掩码的详细信息,或者生成对应的网络地址等。

2025-07-02 11:02:07 1163

原创 【华为od刷题(C++)】HJ17 坐标移动(continue语句、break语句)

解析指令并计算出最终的坐标。这段代码的思路是根据输入的。

2025-07-01 10:00:52 270

原创 【华为od刷题(C++)】HJ16 购物单(动态规划、0-1 背包问题、二维数组)

每个物品只能选择一次,即要么放入背包,要么不放入背包;目标是选择一些物品放入背包,使得背包中的物品总重量不超过容量。是数组的一种扩展,它包含多个一维数组;二维数组的元素可以通过行和列的索引来访问。可以使用动态内存分配来创建二维数组,这种方法在运行时动态地为数组分配内存。如果没有初始化所有的元素,其他未初始化的元素会默认初始化为。个物品,每个物品有两个属性:重量。给定一个背包,背包有一定的容量。是列索引,注意数组的索引从。的数组,并为每个元素赋了初值。的背包能够容纳的最大价值。,并且物品的总价值最大。

2025-06-29 20:38:43 657

原创 【华为od刷题(C++)】HJ15 求int型正整数在内存中存储时1的个数

我的代码:目的是计算一个整数的二进制表示中 1 的个数。

2025-06-29 11:09:42 167

原创 【华为od刷题(C++)】HJ14 字符串排序(sort 函数、仿函数和类)

如果两个字符串的前缀完全相同,则较短的字符串排在较长的字符串前面;例如,"apple" 和 "applepie",因为 "apple" 是 "applepie" 的前缀,所以 "apple" 排在 "applepie" 前面。字典序(即升序)是指按照字母顺序对字符串进行排序的方式,通常类似于字典中的单词排列顺序;字典序的排序规则会根据字符串中的字符逐一比较,直到找到不同的字符为止。,我们可以让类的对象表现得像函数一样,从而增加类的灵活性和可操作性。类是一个模板,实际创建出来的具体对象叫做类的实例;

2025-06-29 10:23:33 686

原创 【华为od刷题(C++)】HJ13 句子逆序

具有更强的灵活性和功能;其基本特点是能够动态调整大小,允许插入、删除、访问元素等操作。中的元素在内存中是连续存储的,这使得它可以像数组一样支持指针运算,并且支持快速访问。会根据需要自动调整大小,避免了使用传统数组时需要手动管理数组大小的麻烦。容器存储输入的多个字符串,并利用反向遍历的方式将它们倒序输出。是 C++ 标准库提供的一种动态数组容器,它属于。的末尾添加元素是非常高效的,复杂度为 O(1)支持迭代器,可以方便地遍历容器。中的元素,和普通数组一样。

2025-06-28 01:19:52 292

原创 【华为od刷题(C++)】HJ12 字符串反转

s.size()

2025-06-28 00:13:38 365

原创 【华为od刷题(C++)】HJ11 数字颠倒

【代码】【华为od刷题(C++)】HJ11 数字颠倒。

2025-06-27 23:52:50 278

原创 【华为od刷题(C++)】HJ10 字符个数统计

尤其在没有需要返回原值的情况下(比如在循环或递增操作中)。更直观,而且通常编译器会优化这类简单的自增操作。都能得到相同的结果,但一般情况下,推荐使用。在某些编译器或特定的编译优化下,:对于内置类型(如整数类型),在循环中使用。:在 C++ 中,习惯上更倾向于使用。的性能差异是微乎其微的,但理论上,当前的值(因为需要返回原值),而。可能需要创建一个临时副本来保存。,没有创建临时副本。

2025-06-27 23:33:36 298

原创 【华为od刷题(C++)】HJ9 提取不重复的整数

对于给定的正整数 n ,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。具体地,如果遇到相同数字,保留在最右侧出现的第一个数字。在一行上输入一个整数 n(1≦n≦10^8) 代表给定的整数。保证 n 的最后一位不为 0。在一行上输出一个整数,代表处理后的数字。

2025-06-27 17:25:12 156

原创 【华为od刷题(C++)】HJ8 合并表记录(map的使用)

基于平衡二叉搜索树(如红黑树)实现,通常查找、插入、删除等操作的时间复杂度是 O(log n),其中。),它会根据输入的键值对进行累加,如果相同的键已经出现过,则累加其对应的值;否则,将新的键值对插入到。会确保它的元素按键值的顺序存储。排序的方式可以通过自定义比较函数来改变。如果你尝试插入一个已经存在的键,这意味着即使元素是按无序的方式插入的,是一个非常有用的关联容器,它用于存储。会根据情况更新该键对应的值。是值(value),在。会根据键自动排序(默认是。使用 C++ 的 map。

2025-06-27 16:55:25 270

原创 【华为od刷题(C++)】HJ7 取近似值

【代码】【华为od刷题(C++)】HJ7 取近似值。

2025-06-26 23:38:47 229

原创 【华为od刷题(C++)】HJ6 质数因子

【华为od刷题(C++)】HJ6 质数因子

2025-06-26 22:24:01 233

原创 【华为od刷题(C++)】HJ5 进制转换(stoi 函数的用法)

【代码】【华为od刷题(C++)】HJ5 进制转换(stoi 函数的用法)

2025-06-26 17:51:34 295

原创 【华为od刷题(C++)】HJ4 字符串分隔

这个程序的主要目的是读取每一行输入的字符串,如果字符串的长度不是 8 的倍数,则将其补充为 8 的倍数,并且将字符串分成每 8 个字符一组输出。

2025-06-26 17:13:25 257

原创 【华为od刷题(C++)】HJ3 明明的随机数

这个程序的目的是读取一系列整数,并将它们存入一个集合(set)中。由于set自动去重,它会去掉重复的值。最后,程序按升序输出集合中的所有元素。

2025-06-26 13:20:22 252

原创 【华为od刷题(C++)】HJ2 计算某字符出现次数

即目标字符在字符串中出现的次数(忽略大小写)。遍历字符串中的每个字符,将其转换为大写后与。如果某个字符转换为大写后与。读取一个字符,假设读取到字符。读取一整行输入并将其存储在。

2025-06-25 23:45:24 368

原创 [华为od刷题(C++)] HJ1 返回给定字符串中最后一个单词的长度

我的代码: 函数的思路: 初始化变量:跳过末尾的空格:计算最后一个单词的长度:返回最后一个单词的长度:最后返回 ,即最后一个单词的长度。输入字符串::从标准输入读取一整行文本并存储在字符串 中。使用 可以读取包含空格的完整句子。调用 函数:调用 函数计算并获取最后一个单词的长度。输出结果::将计算得到的最后一个单词的长度输出到控制台。

2025-06-25 15:24:06 261

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除