练习
土豆土豆丝儿
想有个学上,学习!
展开
-
练习四(报错:runtime error: reference binding to null pointer of type ‘int‘ (stl_vector.h) 可能的原因)
这是由于在申请ans和a的时候没有给他们分配空间,而直接采用下标的方式去调用,这是不合规的,虽然在创建vector的时候可以绕过分配空间这一步,但是运行的时候就会报错。可以用push_back()或者{1,2,3}的方式给vector类型数组赋值,也可以用已有的有明确空间大小的数组的 size()来给他们分配空间。对于vector的使用十分的生疏,c++的各种stl只是浅浅的了解了他们的存在,完全不会用。自此,vector就知道他什么时候会越界,什么时候不会了,我们就可以正常使用下标了。原创 2024-07-09 00:14:34 · 377 阅读 · 2 评论 -
练习第三天
思路: 首先将nums中所有元素异或得到一个result,由于一定有两个元素不同,故result不为0且一定有一位为1,将result &(-result)可以得到一个二进制数这个二进制数只有一位为1其余全是0;然后把这个数和nums中的元素进行与运算可以将nums中的元素分为两类: 一类是这一位二进制位是1,另一类这一位为0;这时需要我们找的两个元素会被分到两类之中,再将这两类分别异或就能得到这两个数。1、用hash,进一个记录一个,等遇到相同的时候删除第一个,这样只剩下两个需要的。原创 2024-07-06 01:16:28 · 151 阅读 · 0 评论 -
练习第二天
首先将a与b异或并赋值给a,再将经过改变的a(已经变成 a ^ b)与 b再进行异或并赋值给b,根据自反性此时的b就成了a (a ^ b ^ b = a);最后再将a(即 a ^ b)与 b (即a ^ b ^ b = a)异或得到了b(a ^ b ^ a = b )。^ 异或运算,用到了异或的自反性 A ^ B ^ B = A;异或还具有:交换律 A ^ B = B ^ A ,结合律( A ^ B ) ^ C = A ^ ( B ^ C )原创 2024-07-03 00:47:11 · 246 阅读 · 0 评论 -
练习第一天
while ( num ) :当num不为0时执行下边的循环,等价于while ( num!因为在这个循环中有“num = num / 10;”会不断的将num值除以10,当个位数除以10 后会得到结果0,此时循环已经不用再执行了,将num!=10 作为循环的终止语句。如果至少有一个操作数是浮点型,则结果将是浮点型。num / 10 “/”取整运算符。num%10 取num的个位数。如果两个操作数都是整型,结果也将是整型,且。取模运算符 会得到余数,并且一定为整型。原创 2024-07-02 00:21:03 · 149 阅读 · 0 评论