- 博客(19)
- 收藏
- 关注
原创 【力扣】5. 最长回文子串--c++动态规划解法
dp[i][j]定义为bool类型,表示从s中i到j的字符串是否为真。(如果字符串的反序与原始字符串相同,则该字符串称为回文字符串.)"aba" 同样是符合题意的答案。定义为左闭右闭区间,即可以取到。是否为回文子串,这里子串。
2024-05-06 20:46:32
293
原创 【Mysql】关键字总结
可以结合外键来定义不同数据表之间的关系,并且可以加快数据库查询的速度.主键和记录之间的关系如同身份证和人之间的关系,它们之间是一一对应的. 主键分为两种类型:单字段主键和多字段联合主键. 在一张表中,主键是唯一的,只能有一个主键,如果有多个则是联合主键."字符串{n,}"表示至少匹配n次前面的字符;**星号''匹配前面的字符任意多次,包括0次,加号'+'匹配前面的字符至少一次,方括号"[]"指定一个字符集合,只匹配其中任意一个字符,即为所查找的文本.使用{n,}或者{n,m}来指定字符串连续出现的次数。
2024-04-10 21:24:46
2257
2
转载 【入门】机器数和真值
一个数在计算机中的二进制表示形式就是这个数的机器数。机器数是带符号的,在计算机用机器数的存放符号,正数为0,负数为1。比如,十进制中的数 +5 ,,转换成二进制就是0000 0101。如果是 -5,就是 1000 0101。那么,这里的 0000 0101 和 1000 0101 就是机器数。因为第一位是符号位,所以机器数的形式值就不等于真正的数值。例如上面的符号数 1000 0101,其最高位1代表负,其真正数值是 -5,而不是形式值131(1000 0011转换成十进制等于133)。
2024-03-31 19:50:24
1852
1
原创 【c++】STL中vector和array的比较
3:vector有一系列的函数操作,非常方便使用.和vector不同,数组不提供 push——back或者其他的操作在数组中添加新元素,数组一经定义就不允许添加新元素;数组使用的时候下标容易越界,虽然vector也可以使用下标来访问容器中的数据,但是vector可以使用较多的机制来控制,比如用迭代器。还有一点要说一下,数组名和容器名是有区别的,数组名不仅表示数组的名称,还代表了数组的首地址,数组名有时候可看作指针,并使。若需要则要充许分配新的内存空间,再将员数组的元素赋值到新的内存空间。
2024-03-31 19:27:09
271
1
原创 Vector与数组的区别
vector:翻译为向量,矢量,动态数组(数据结构中的顺序表)还可以用各种运算操作符来进行判断。用于在v的最后加元素t。用于在读取第n个元素,(用于下标操作)v.empty();用于判断是否v为空的。v1 = = v2;判断是否v1等于v2;
2024-03-31 19:19:50
249
1
原创 【c++】深拷贝和浅拷贝简单理解
第二次从键盘读取Banana,并把200这个地址赋值给strArr[1],注意这个地方的问题,由于buf这段内存只有一个,第二次赋值会把第一次的Apple覆盖。第三次从键盘读取Orange,并把200这个地址赋值给strArr[2],但这时Orange把前面的输入覆盖了。但这是Pear把前面的输入覆盖了。输出s1的值,应该是"有趣的编程",但实际输出的却是"好好学习,天天向上",这是错误的。输出s2的内容,是修改后的值"好好学习,天天向上",这是正确的;输出s2的内容,这是是s1赋值的值,这是正确的;
2024-03-26 23:13:36
379
原创 【c/c++】给定单链表(head),如果有环的话请返回从头结点进入环的第一个节点--快慢指针法
如下图所示,设链表中环外部分的长度为 x。slow 指针进入环后,又走了 y 的距离与 fast 相遇。此时,fast 指针已经走完了环的 n 圈+(没走完最后一圈)y+x,因此它走过的总距离:x+n(y+z)+y=x+(n+1)y+nz。随后,slow 指针每次向后移动一个位置,而 fast 指针向后移动两个位置。因此,当发现 slow 与 fast 相遇时,我们再额外使用一个指针p。的等量关系,我们会发现:从相遇点到入环点的距离z加上 n+1 圈的环长,恰好等于从链表头部到入环点的距离。
2024-03-25 14:02:26
905
1
原创 【c++】右值引用--简单理解
(而非值传递)的方式使用 C++ 右值。这种引用可指向右值,使用。例如 int&& a=30;可以从字面意思上理解,指的是以。的一种引用--右值引用。
2024-01-14 22:21:05
410
1
原创 【Linux】fork进程,缓冲区简单理解
屏幕是一个硬件设备,是由操作系统来管理的,因此printf打印的时候需要调用操作系统的接口才能完成,这个时候我们需要这个开销是比较大的.当printf的时候,会把内容先放入缓冲区中,缓冲区刷新后打印在屏幕上。
2023-12-02 22:12:01
120
原创 【入门】c语言--阿里巴巴进制类题目。假设在n进制下,下面的等式成立,567*456=150216,n的值是()
(1)式左右先/n,再%n得到 (71+42/n)%n = 1%n+(6/n)%n。假设在n进制下,下面的等式成立,567*456=150216,n的值是()。10进制运算576*456 估算为250*250约等于 250000。150216和250000之间差的有点多,接近一倍不到一倍。ACD三个答案均>6,故:(6/n)%n=0%n=0。通过取模运算(任何n的倍数对n取模可消去n)题目中567*456=150216。此时代入ACD选项,得到正确答案D。带入答案也可排除B选项。对后半段:1%n=1。
2023-10-30 12:04:20
153
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人