C++
文章平均质量分 59
C++程序
Every DAV inci
这个作者很懒,什么都没留下…
展开
-
C++中string的常用函数
C++中string的常用函数原创 2024-10-25 18:01:00 · 155 阅读 · 0 评论 -
C++刷题之二:vector迭代器的使用
在遍历vector中的数组元素时,可以使用迭代器当然也可以使用传统又不传统的for循环进行遍历。原创 2024-09-02 14:59:18 · 975 阅读 · 0 评论 -
C++刷题之一:用vector其冰山一角
Vector:是stl标准模板库(Standard Template Library, STL)中的一个很常用的也很核心的容器,其也被称为动态数组,因为其可以在使用和运行时动态的增加或者减小,不需要显式的进行删除或者增加内存空间,即管理内存。原创 2024-09-02 14:53:57 · 484 阅读 · 0 评论 -
leetcode209. Minimum Size Subarray Sum
建议再想一个时间复杂度是nlogn的方法。但是这题还提供了一个深入的跟进思考。暴力解法在leetcode中会超时。也可以用双指针滑动窗口来进行。可以用暴力解法来进行。以及双循环变量使用时。原创 2024-09-02 14:20:50 · 413 阅读 · 0 评论 -
求两个数的最大公约数和最小公倍数
当a和b均为奇数,利用更相减损术运算一次,gcb(a,b) = gcb (b, a-b), 此时a-b必然是偶数,又可以继续进行移位运算。这个方法真的是很厉害,但是有点难理解,对于原理的理解比较重要,但其实最常用的还是辗转相除法和更相减损术。当a为偶数,b为奇数,gcb(a,b) = gcb(a/2, b) = gcb (a>>1, b)当a为奇数,b为偶数,gcb(a,b) = gcb(a, b/2) = gcb (a, b>>1)一会再写一种递归的思想,代码会更简洁,递归很重要!怎么求最小公倍数呢?原创 2021-10-29 18:05:49 · 1353 阅读 · 0 评论 -
利用VScode配置C/C++环境
下载好之后做该插件版本的回退, 退回到1.8.4版本, 因为这个版本还可以自动生成一些配置文件, 比如。里面显示的, 点一下就行了, 会自动生成。的问题, 所以要在每一个C/C++程序。在VScode中下载C/C++插件。, 这样就会出现一个编译运行的界面了。自动生成配置文件是在最左边一栏的。但是这个编译运行的界面会有。编译器, 并配置环境变量。......原创 2022-08-14 21:36:21 · 895 阅读 · 0 评论 -
PAT甲级-A+B Format
所以如果是符号, 那么就不要进行索引的判断, 因为这时候len== 7, len%3==1, 在输出符号之后如果还检查索引。核心思想就是使用len%n作为从len%n开始的逗号输出位置,类似一个偏置项。对于-999,111这种情况(假定n为3, 符号为-)因为是%,所以具有周期性,经历了n个数之后才会再输出。就是对负号(或其他符号)的条件判断。这里的3可以替换为任何数n。就会输出-,999,111。原创 2023-03-20 00:38:37 · 95 阅读 · 0 评论 -
素数判断方法的改进迭代
三种方法的时间复杂度从O(n) -> O( log(n) ) -> O( log(n) / 2 )效率是在一步步的提高的。原创 2022-10-27 00:59:30 · 213 阅读 · 0 评论 -
AVL-Review
F(3) = F(0) + F(1) + 1 = 4, 即如果树的深度为2, 那么树中至少有4个节点。F(6) = 33 ----> 即如果树的深度要为6, 那么该树拥有的最少节点应为33。F(n)所求的皆为深度为n时的最少节点数, 如果小于该节点数, 则无法有第n层。:树的根节点到该节点的边的个数,树的深度等于树中该节点的最大层次。F(0) = 1, 即如果树的深度为0, 那么树中至少有1个节点。F(1) = 2, 即如果树的深度为1, 那么树中至少有2个节点。原创 2022-10-24 20:29:45 · 561 阅读 · 0 评论 -
7-2 换硬币 (20分)
要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。所以在计算某一种硬币时的数量上限时,就可以用总数将其他两枚硬币的数值下限的和减掉。相较于直接用总数值去除以硬币数值得到硬币的数量上限的计算方法来说。输入在一行中给出待换的零钱数额x∈(8,100)。这题要判断一下不同数值的硬币换取的上限。2分和1分硬币的数值上限计算也是这样。这种方法能减少一些判断次数。原创 2022-10-21 15:23:24 · 457 阅读 · 0 评论 -
PTA-统计一批学生的平均成绩与不及格人数
输入在一行中给出一系列非负实数,其间以空格分隔。当读到负实数时,表示输入结束,该数字不要处理。其中平均值精确到小数点后两位,等号的左右各有一个空格。之前写的没有在过程中计算average。但是由于某些规范原因在PTA中会显示。关于这题,PTA的判题格式有些严格。以下代码没有问题可以AC。在编译器中可以正常运行。原创 2022-10-20 09:03:15 · 2496 阅读 · 0 评论 -
三元组表示的稀疏矩阵转置(编程题)
两个矩阵要同时分别进行三元组中元素的检索和赋值,所以定义两个变量来分别表示两个三元组中元素的位置,并且最后要进行变量的更新。首先要初始化一个以三元组形式表示的矩阵,存储原矩阵的转置矩阵,即创建了一个结构体变量要为该结构体变量开辟空间。表示一个系数矩阵的思路:先以三元组的形式将稀疏矩阵进行构建, 再对整个稀疏矩阵中的节点属性进行表示。通过矩阵的列序进行索引,在每一列中都对三元表中的元素进行检索,检索到就进行行列下标的互换并赋原值。在该步骤中要注意两个结构体变量之间的引用关系,首先从。原创 2022-09-23 22:14:06 · 1604 阅读 · 0 评论 -
三目运算符的理和a++和++a计算过程性问题
三目运算符的理和a++和++a计算过程性问题1、三目运算符的理解问题:b ? x : y表示的意思是:如果b为真,计算x的值,运算结果为x的值;如果b为假,计算y的值,运算结果为y的值.三目运算符是右结合性的,比如b ? x : y ? c : d所表示的意思是 b ? x : ( y ? c : d ).2.a++和++a计算过程性问题 ++a与a–,有两种使用情况: 一种是前面有变量进行赋值的情况; 一种是前面没有变量,出现在某些计算过程中的情况.原创 2021-12-11 14:56:41 · 744 阅读 · 0 评论 -
判断素数的方法
判断素数的方法素数的定义:素数指的是除了1和它本身,不能被任何数整除。由素数的定义我们可以推的判断素数的方法: 判断一个数m是不是素数,只需要用m去除以2~m-1中的数,如果都不能整除,那么这个数就是素数现在要简化素数的判断方法:不用让m去除以2~m-1中的全部数,只需要让m去除以2 ~ 之间的每一个数就可以了。如果 m 不能被 2 ~ 间任一整数整除,m 必定是素数。这个简化方法基于一条已经经过证明的定理:因为如果 m 能被 2 ~ m-1 之间任一整数整除,其两个因子中必定有一个小原创 2021-11-13 21:59:52 · 1010 阅读 · 0 评论 -
求两个数的最大公约数和最小公倍数
求两个数的最大公约数和最小公倍数一查发现竟然有这么多种方法,除了之前最常用的辗转相除的方法,还有不包括辗转相除的其他三种办法辗转相除法又称欧几里得算法,据说是最早的算法,是西方的算法东方的有《九章算术》中的更相减损术还有将辗转相除法和更相减损术结合起来的运用了移位运算的方法直接写代码了辗转相除法的依据是一条定理:两个正整数a和b(a>b),它们的最大公约数等于a除以b的余数c和b之间的最大公约数。这是迭代的思想一会再写一种递归的思想,代码会更简洁,递归很重要!!!//使用辗转相除原创 2021-11-13 21:06:29 · 659 阅读 · 0 评论