- 博客(17)
- 收藏
- 关注
原创 错题(c++)
C++规定=,[ ],(),->这四个运算符只能被重载为类的非静态成员函数,其他的可以被友元重载,主要是因为其他的运算符重载函数都会根据参数类型或数目进行精确匹配,这四个不具有这种检查的功能,用友元定义就会出错。根据右结合性,*p[2]中的p先和[2]结合,所以它首先是个数组,再由于左边的*,这是个指针数组,由于没有初始化的指针是不会调用构造函数的,所以一共是1+3=4。- `sizeof(*s)`:这个表达式求的是`s`所指向的数据类型(在这里是一个字符`char`)的大小,,正确的做法是直接将指针。
2024-07-03 17:26:42 239
原创 统计道路上的碰撞次数
另一种是,在最左端不是向左,最右端不是向右的基础上,只要这两个端点内不是静止的,都会相撞。因此只要获得这一段,再用字符串长度-“S”的数量就是碰撞次数。所以第一次direction被剪成了从start(从第一个不是L)开始到末尾的字符串,而第二次剪的时候,从0开始,此时的0也就是start的位置。一种情况是全是左或者全是右,这种的不会撞到,直接返回00。开始直到字符串结束的所有字符。如果未找到这样的字符,则返回。
2024-06-03 17:33:35 224
原创 骨牌铺方格
dp[i-1]时,它比i少了一列,那么dp[i]时所有的铺放方案都可以竖着加一列,同理,i-2时,空出两列,可以横着加两个,每个i-2也可以凑出一种i,且与i-1必不相同,所以此时dp[i]=dp[i-1]+dp[i-2]。设dp[n]为宽为n时的铺放方案,若此时n=i,那么可以在dp[i-1]和dp[i-2]基础上来获得dp[i]。因为每n+1个数的铺放方案内,n都有与之相类似的铺放方案,所以可以用到动态规划的思想。
2024-06-02 15:36:30 136
原创 数据结构-1
如果一个数据项由更小的属性组成,那么称他为组合项,例如年月日。线性结构,除了第一个元素都有前驱,除了最后一个元素都有后继。算法必须是有穷的,而程序可以是无穷的。算法需要具有确定性,下面两个不具有。
2024-05-30 18:43:03 141
原创 完全平方数
依旧是dp动态规划,dp[i]的含义是,和为i的完全平方数的最少数量,由于组成n的数肯定大于1小于等于根号下n,又因为n由平方数组成,所以每次用i减去j*j,剩下的数必定小于i,小于i意味着可以直接从dp中提取,所以i=j*j+(组成i-j*j的完全平方数),且j从1到根号下i,进行循环,每次取最小值。
2024-05-30 17:52:19 120
原创 寻找最长的斐波那契子序列
中的每一个元素,it被自动推导类型为int,并直接使用这个变量来代表当前迭代到的元素值。时,每个元素直接以值的形式被迭代取出,而非指针或引用。),是因为当使用范围for循环遍历。
2024-05-29 12:12:54 115
原创 求最大公约数
解释:如果两个数a,b,a%b==0,那么b一定就是最大公约数了,如果不是再调一次函数,进行递归,每一次递归的两个实参为较小的数字和两者之间余数,这里表达两个实参的方式很好的解决了如何得到较小数字的问题,如果a%b!=0,且a<b,那么通过(m,n%m),将会把a,b放在实参不同的两个位置上,相当于如果a<b,那么下次就是(b,a),你可以举个例子想一下,例如3,5,调转过来后,m必定为较小的数,n%m为二者的余数,接着一直递归,直到a%b==0,返回m,此时m即为最大公约数。
2023-10-19 15:46:53 14
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人