c++练习
LeonJonson
人生三大错觉:
我超越了标准库
我比编译器聪明
我能管理好内存
展开
-
c++练习七:66. 加一
这次题目分两种情况 进位和不进位,当最后一位 为9 时 需要考虑进位 ,进位后要考虑下一位是不是也要进位 以此类推;不进位就简单了 直接加1 就可以。原创 2024-03-01 10:12:03 · 319 阅读 · 0 评论 -
c++练习六:283. 移动零
这次的题目本人想到了两种解法 一种是删除添加法 一种是指针法。请注意 ,必须在不复制数组的情况下原地对数组进行操作。原创 2024-02-27 14:03:11 · 206 阅读 · 0 评论 -
c++练习五:重复的子字符串
由题目可知 字符串s 是由 它的子串重复多次构成,设子串为x,则 s = nx( n 为 x 重复的次数),对这个公式稍加变形可得 s + s = 2nx, 此时如果移除 2s 的头尾处的字符后 ,若 s 是它的子串则证明 s 是由重复说的子字符串组成的。原创 2024-02-20 10:18:00 · 181 阅读 · 0 评论 -
c++练习四:有效的字母异位词
刚开始我想利用异或法来解这道题,但是提交的时候发现测试用例有s = aa;这种例子,所以异或法并不能解答这道题,后来决定使用排序法来解答题目 ,先对 s 和 t 进行排序然后 用 c++20的新特性 “太空飞船操作符”(正式点的名字是三路比较运算符 “<=>”)来比较这两个字符串。原创 2024-02-05 10:25:58 · 205 阅读 · 1 评论 -
c++练习三:找出字符串中第一个匹配项的下标
这次的题目本人想到了两种解法 一种 是暴力破解法 一种是直接调用string中的find api 官方还给出了第三种解法 KMP 算法(Knuth-Morris-Pratt 算法)。原创 2024-02-03 10:25:27 · 355 阅读 · 1 评论 -
c++练习二:找不同
【代码】c++练习二:找不同。原创 2024-02-02 11:50:39 · 130 阅读 · 0 评论 -
c++练习一:交替合并字符串
有两种方法第一种双重循环暴力破解,第二种利用指针用两个指针 i 和 j,初始时分别指向两个字符串的首个位置。当 i 和 j 都超出对应的范围后,结束循环并返回答案即可。原创 2024-02-01 14:16:52 · 222 阅读 · 0 评论