- 博客(938)
- 资源 (19)
- 收藏
- 关注
原创 C++ ---typedef的用法
typedef是在C和C++编程语言中的一个关键字。作用是为现有的数据类型(int、float、char……)创建一个新的名字,目的是为了使代码方便阅读和理解。
2024-05-11 20:53:47 217
原创 C++ ---引用(&)
来看看下面这段代码,你认为它的输出结果是什么呢?是1吗❓ 还是随机值❓ 亦或者是其他值int n = 0;n++;return n;我传引用返回后,ret就是n的别名,但是有没有想过,出了函数出了这个作用域我n不是都销毁了吗,怎么还会有别名呢?空间的销毁不是说空间就不在了。空间的归还就好比你退房,虽然你退房了,但是这个房间还是在的,只是说使用权不是你的了。但是假说你在不小心的情况下留了一把钥匙,你依旧是可以进入这个房间,不过你这个行为是非法的。
2024-05-11 20:45:37 540
原创 C++---partial_sum的用法
是 C++ 标准库中的一个函数,用于计算指定范围内的部分和,并将结果存储在另一个范围中。具体来说,它将输入序列的元素累积相加,并将每个累积值存储到输出序列中。下面是firstlastd_first函数会计算从first到last的范围内的部分和,并将结果存储到从d_first开始的范围中。第一个元素直接拷贝到输出序列中,然后依次计算每个元素的累积和。以下是一个示例,展示了如何使用在这个示例中,函数将nums中的元素累积相加,并将结果存储到result中。然后,我们输出了计算得到的部分和。
2024-05-10 16:16:17 123
原创 LeetCode---53.最大子数组和(dp[i]表示以i结尾的子数组的最大,而不是全局的最大)
【代码】LeetCode---53.最大子数组和(dp[i]表示以i结尾的子数组的最大,而不是全局的最大)
2024-05-10 11:26:07 58
原创 LeetCode---322.零钱兑换
初始化 dp 数组:当金额为 0 时,不需要任何硬币,所以 dp[i][0] = 0。当使用任意种类的硬币凑成金额 0 时,都无法凑成,所以 dp[0][j] = INT_MAX。
2024-05-09 14:21:25 159
原创 LeetCode---474.一和零(三维dp转化为二维dp)
由于 dp[i][][]\textit{dp}[i][][]dp[i][][] 的每个元素值的计算只和 dp[i−1][][]\textit{dp}[i-1][][]dp[i−1][][] 的元素值有关,因此可以使用滚动数组的方式,去掉 dp\textit{dp}dp 的第一个维度,将空间复杂度优化到 O(mn)O(mn)O(mn)。实现时,内层循环需采用倒序遍历的方式,这种方式保证转移来的是 dp[i−1][][]\textit{dp}[i-1][][]dp[i−1][][] 中的元素值。
2024-05-09 12:16:38 115
原创 Echarts大屏展示学习
源代码<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>大屏展示</title> <!-- 引入echarts库文件 在线引入 --> <script src="https://cdnjs.cloudflare.com/ajax/libs/echarts/5.5.0/echarts.min.js"><
2024-05-08 21:16:20 791
原创 LeetCode---40.组合总和II(在同一层中,有数字相同时,只选择第一个数字)
【代码】LeetCode---40.组合总和II(在同一层中,有数字相同时,只选择第一个数字)
2024-05-07 15:28:52 396
原创 LeetCode---47.全排列II(固定某位元素时,保证“每种元素只在此位固定一次”,即遇到重复元素时不交换,直接跳过)
为了排除这些重复方案,需在固定某位元素时,保证“每种元素只在此位固定一次”,即遇到重复元素时不交换,直接跳过,从而将生成重复排列的搜索分支进行“剪枝”
2024-05-07 14:35:13 145
原创 LeetCode---51.N皇后(从左上到右下方向,行下标与列下标之差相等 从右上到左下方向,行下标与列下标之和相等)
【代码】LeetCode---51.N皇后(从左上到右下方向,行下标与列下标之差相等 从右上到左下方向,行下标与列下标之和相等)
2024-05-07 11:14:34 363
原创 LeetCode---260.只出现一次的数字III(防止溢出(负数比正数多表示一位数) 求出二进制中最后一位1表示的数字)
【代码】LeetCode---260.只出现一次的数字III(防止溢出(负数比正数多表示一位数) 求出二进制中最后一位1表示的数字)
2024-05-06 21:08:18 826
原创 C++---max()函数编译器无法确定使用哪个重载版本的 max() 函数
为了解决这个问题,你可以显式地将参数转换为相同的类型,或者使用一种类型来声明变量。函数,并且编译器无法确定使用哪个重载版本的。函数,这导致编译器无法确定使用哪个版本的。这个错误提示表明在你的代码中调用了。在你的代码中,你可能使用了。声明为相同类型,或者使用。在这个例子中,我们将。函数期望的参数类型。
2024-05-03 17:31:29 218
原创 LeetCode---453.最小操作次数使数组元素相等(其他n-1个元素加一,等同与最大值减一)
【代码】LeetCode---453.最小操作次数使数组元素相等(其他n-1个元素加一,等同与最大值减一)
2024-04-30 13:30:55 116 2
原创 C++---172.阶乘后的零(求5的个数)
类型存储布尔值时,多个布尔值可能会被存储在同一个缓存行中,这样在访问布尔值时,会因为缓存的预取和缓存命中率的提高而更快。类型,每个布尔值会占用一个字节,可能会导致更多的缓存行被加载,从而增加缓存的不命中率,降低效率。类型来存储布尔值可能会更快,因为它可以更好地利用内存,提高内存访问效率和 CPU 缓存的命中率。:内存是按照字节来寻址的,因此即使你只需要一个比特的数据,也需要读取整个字节。中,这样可以更好地利用内存,减少内存访问的次数,提高效率。类型应该是存储布尔值的最佳选择,但在实际情况下,使用。
2024-04-29 17:12:16 313 2
原创 vector用int类型比用bool类型更快(但同时会增加内存的消耗)
类型存储布尔值时,多个布尔值可能会被存储在同一个缓存行中,这样在访问布尔值时,会因为缓存的预取和缓存命中率的提高而更快。类型,每个布尔值会占用一个字节,可能会导致更多的缓存行被加载,从而增加缓存的不命中率,降低效率。类型来存储布尔值可能会更快,因为它可以更好地利用内存,提高内存访问效率和 CPU 缓存的命中率。:内存是按照字节来寻址的,因此即使你只需要一个比特的数据,也需要读取整个字节。中,这样可以更好地利用内存,减少内存访问的次数,提高效率。类型应该是存储布尔值的最佳选择,但在实际情况下,使用。
2024-04-28 21:55:12 214
原创 LeetCode---3.无重复字符的最长子串(滑动窗口,用set适合首部删除、尾部插入和查找操作)
【代码】LeetCode---3.无重复字符的最长子串(滑动窗口,用set适合首部删除、尾部插入和查找操作)
2024-04-27 18:06:50 130 2
原创 LeetCode---647.回文子串(把奇数和偶数统一起来)
在实现的时候,我们需要处理一个问题,即如何有序地枚举所有可能的回文中心,我们需要考虑回文长度是奇数和回文长度是偶数的两种情况。如果回文长度是奇数,那么回文中心是一个字符;如果回文长度是偶数,那么中心是两个字符。当然你可以做两次循环来分别枚举奇数长度和偶数长度的回文,但是我们也可以用一个循环搞定。
2024-04-27 15:32:58 162 1
原创 C++---vector初始赋值时的常见错误(没有初始化就直接访问里面的元素)
在 unordered_map 中,如果键不存在时,使用 [] 运算符将会创建一个新的键值对,并使用默认的值初始化它。在你的代码中,你试图使用 [] 运算符为 mp 中的 vector 元素赋值,但是这样的使用方式是错误的。你应该先检查键是否存在,然后再进行赋值操作。或者你可以使用 mp[nums[i]] = {i, i, 1};的方式来初始化元素的信息。
2024-04-24 16:30:35 248
原创 C++---vector进行初始化赋值时常见的错误
时,可能会导致意外的结果,因为这样做会触发元素的复制操作,可能造成不必要的开销。的某个元素之前,未对其进行初始化,会导致未定义的行为。边界的元素时,会导致越界访问错误。为空时,尝试访问元素会导致错误。范围的位置,会导致未定义的行为。:在使用迭代器进行遍历或者操作。时,如果迭代器指向了超出。
2024-04-24 16:29:39 94
原创 C++---迭代器的稳定性
一般来说,对于大多数容器,插入和删除操作可能会使得指向元素的迭代器失效,而其他操作则不会影响迭代器的有效性。总的来说,为了确保迭代器的稳定性,应该在进行插入和删除操作后小心地处理迭代器。最安全的做法是在修改容器的同时更新迭代器,或者在修改容器之前将需要修改的元素的迭代器保存起来。的开头和末尾的插入和删除操作不会使迭代器失效,但在中间插入或删除元素可能会使迭代器失效。的插入和删除操作不会使现有迭代器失效,因为它们不涉及元素的移动或重新分配内存。中的插入和删除操作可能会导致重新哈希,从而使迭代器失效。
2024-04-24 11:47:13 99
原创 set与unordered_set的具体区别和联系(map同理)
都是 C++ 标准模板库(STL)中的关联容器,用于存储不重复的元素。如果需要有序存储且查找性能要求不高,或者需要保证迭代器稳定性,则可以选择。如果对元素顺序没有特殊要求,但需要较快的查找性能和较少的内存占用,则可以选择。
2024-04-23 17:12:48 706
原创 C++---23.合并k哥升序链表(把多个链表放在一个优先队列中)(优先队列的最后一个参数VSsort的最后一个参数)
【代码】C++---23.合并k哥升序链表(把多个链表放在一个优先队列中)(优先队列的最后一个参数VSsort的最后一个参数)
2024-04-23 15:14:06 180
原创 C++---46.全排列(如果i=level+1则当前的结果没有被保存)(回溯的是交换的位置)
【代码】C++---46.全排列(如果i=level+1则当前的结果没有被保存)
2024-04-22 21:54:38 335
Java学习必要的软件包
2020-09-26
GUI中的AWT,SWING
2020-09-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人