习题
文章平均质量分 63
又秃又弱
博客主要记录和分享本人学习,请斟酌帖子,勿一味的输入知识
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
OJ 基础 | 输入处理
【代码】OJ 基础 | 输入处理。原创 2025-04-11 12:45:07 · 232 阅读 · 0 评论 -
算法题 | GESP | 小杨的储蓄
题源:洛谷原创 2025-04-07 15:49:22 · 414 阅读 · 0 评论 -
Py一阶段习题汇总
也就是遍历看[0,n-1]哪些没有被报数则计数器+1。第二行是:报数从0开始 如果从[0,n-1]都报数了就输出 同学的个数(也就是3)那么思路就是将123%25 存储,直至123//25==0时结束循环 最后逆序输出。按字符长度进行排序:l.sort(key=lambda x: len(x)需要注意的是存储格式转化为字符存 大于等于10的用A-Z进行存储。第一行是要进制转的数字,也就是把123进行进制转换。第一行:输入的分别是 3个同学,报数了3次。第二行是R=25,也就是进行25进制的转换。原创 2025-04-06 14:39:51 · 274 阅读 · 0 评论 -
算法题 | 蓝桥杯 :田忌赛马
此时说明,我们的最慢的马已经无法赢任何马,,说明我们的最慢的马比田忌最慢的马还慢,无法赢任何马。与其让它去输给田忌最慢的马,不如让它去输给田忌最快的马,这样还能让田忌最快的马被消耗掉。相当于用最差的马换掉对方最强的马,保留我们的中等马去赢田忌的中等马。举例说明[1, 3, 5][2, 4, 6]😊5<6 (不能赢)1<2 (不能赢)此时会拿我们的1和田忌的6比较,用1消耗掉6,最终3就可以PK掉田忌的2[3, 5][2, 4]最终 5>4 3>2 胜2场✅5<6 (不能赢)原创 2025-04-06 13:39:22 · 734 阅读 · 0 评论 -
c语言/C++实现KMP算法以及代码实现
终止条件: brr[i] == '\0' &&arr[i] == '\0',必须要同时满足,因为如果只满足了一个,当子串已经被完全匹配了,而母串没到最后一个位置,就要进入死循环了。",匹配前3个字母时一致,后面不匹配,但是直接从后面继续查找就不可能匹配成功了,必须返回前面查找,返回的位置是:当前主串下标-当前子串下标+1:i-j+1。匹配不成功:查找主串到最后一个位置也没找到:arr[i] == '\0'匹配成功:匹配到了子串的最后一个位置: brr[j] == '\0';acbc",子串 "原创 2022-02-26 14:27:05 · 1530 阅读 · 0 评论 -
动态规划 | 力扣198.打家劫舍用C++实现
盗贼准备打家劫舍,已知有n个房屋,每个房屋中有数量不等的财宝,有一个盗贼希望从房屋中取果最甘4房屋中有报警器,同时从相邻的两个房屋中盗取财宝就会触发报警器,计算在不触发报警器的前提下多可获取多少财宝。例如: 5,2,6,3,1,7--->结果为18。原创 2023-04-03 19:55:33 · 340 阅读 · 0 评论 -
贪心 | 力扣376 C++实现摇摆序列
摇摆序列一个整数序列,如果两个相邻元素的差恰好正负(负正)交替出现,则该序列被称为摇摆序列。一个小于2个元素的序列直接为摇摆序列。例如:序列[1,7,4,9,2,5],相邻元素的差(6,-3,5,-7,3),该序列为摇摆序列。序列[1,4,7,2,5](3,3,-5,3),[1,7,4,5,5](6,-3,1,0)不是摇摆序列。给一个随机序列,求这个序列满足摇摆序列定义的最长子序列的长度。原创 2023-04-03 15:26:29 · 598 阅读 · 0 评论 -
力扣55.跳跃游戏Ⅱ
跳跃游戏一个数组存储了非负整形数据,数组中的第i个元素nums[i],代表了可以从数组第i个位置最多向前跳跃nums[i]步,已知数组各元素的情况下,求是否可以从数组的第0个位置跳跃到数组的最后一个元素的位置?例如:nums=[2,3,1,1,4],可以从nums[0]=2跳跃至nums[4]=4nums = [3,2,1,0,4],不可以从nums[0]=3跳跃至nums[4]=4。原创 2023-04-03 14:54:43 · 297 阅读 · 0 评论 -
贪心算法 | 473火柴拼正方形 怎么用C++实现摆放火柴棍?
已知一个数组,保存了n个(n原创 2023-03-30 08:21:16 · 459 阅读 · 0 评论 -
递归 | 力扣22 括号生成 用C++实现对括号的组合
有n组括号,生成这n组括号所有的合法的组合对于某组括号,(())这种情况是合法的;)( 不合法例如:n = 3;结果:"((()))","(()())","()()()","(())()","()(())"原创 2023-03-27 20:11:02 · 282 阅读 · 0 评论 -
递归 | 力扣78 怎么求子集? C++实现子集求解
有一组数,没有重复元素,计算这组数可以组成的所有的子集,结果中不可有重复的子集例如:int num[] = {1,2,3};结果:[],[1],[1,2],[1,2,3],[1,3],[2],[2,3],[3]原创 2023-03-27 16:21:01 · 464 阅读 · 0 评论 -
【递归】8皇后问题用代码解决
N皇后问题是计算机科学中最为经典的问题之一,该问题可追溯到1848年,由国际西洋棋棋手马克斯.贝瑟尔提出了8皇后问题。将N个皇后摆放在N*N的棋盘中,互相不可攻击,有多少种摆放方式,每种摆放方式具体是怎么?若在棋盘上已放置一个皇后,它实际上占据了哪些位置?以这个皇后为中心,上,下,左,右,左上,左下,右上,右下,8个方向的位置全部被占据。原创 2023-03-16 21:07:03 · 722 阅读 · 4 评论 -
利用栈将中缀表达式转换为后缀表达式
我们正常平时使用的表达式是中序/中缀表达式,即运算符在数字中间,中缀的缺点:需要考虑符号的优先级。遇到运算符,弹出两个栈顶元素进行运算,最上面的栈顶元素作为运算符右边,第二个栈顶元素位于运算符左边。小括号的处理:左一定进,右一定不进,直到出栈时,右小括号遇上左小括号,相互抵消。2.运算符之间入栈和出栈依赖优先级情况,优先级高的就入栈,低的就先将栈内高优先级出栈后进行入栈。同样的运算符,栈内的优先级比待入栈运算符优先级低,先入栈的优先级高。1.对表达式进行扫描,遇到运算符时就入栈,数字就不管。原创 2022-11-22 20:44:08 · 1722 阅读 · 0 评论 -
【纯虚函数】设计一个形状类——矩形、圆形、三角形,分别计算三种当前图形的周长和面积
覆盖才能产生多态覆盖:必须有父子关系、至少两个类基类的指针或者引用基类指针/引用构造函数不能为虚函数现有对象,再有绑定,然后多态构造函数不能定义为虚函数析构函数构造函数和析构函数不被继承吗?基类指针pb指向子类对象AB~A析构只析构基类。析构不释放子类,那么怎么释放呢?内存泄漏产生不了动态联编,没有虚表,产生动态绑定:析构设置为虚的不同名,为什么产生多态?系统会变成一个名字基类写了虚,可以继承在子类内。原创 2022-11-28 13:31:14 · 2413 阅读 · 0 评论 -
203移除链表元素
给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回新的头节点。示例:输入:head = [1,2,6,3,4,5,6], val = 6输出:[1,2,3,4,5]原创 2022-11-25 14:31:01 · 133 阅读 · 0 评论 -
括号匹配 用栈实现
实现对括号的匹配,首先对接收到的字符判断是否是左括号,如果是进行入栈,否则就对右括号和栈顶的值进行判断,如果不相等,则不满足括号匹配。原创 2022-11-19 16:50:12 · 234 阅读 · 0 评论 -
234回文链表的实现 利用栈解决
力扣 234题。原创 2022-11-19 16:25:46 · 310 阅读 · 0 评论 -
【链表】链表逆置/反转链表 如何用递归和非递归实现?
将原链表断开,然后把头结点的下一个结点位置的值依次进行头插在头结点后面,用下图示例:1.首先把plist断开:plist->next=NULL;2.把p头插在plist链后面://p=NULL//plist->next=500,500是p结点的地址3.把p重新赋值为q的位置,q后移一个:p=q;把p继续进行头插到plist后面:p->next=plist->next;重复操作,一直到最后q=NULL,p=q=NULL时停下。原创 2022-11-04 08:58:55 · 774 阅读 · 0 评论 -
一元多项式的链式表示-C语言实现
思考:f(x)=4+3x+x^2,如何保存?1.顺序表:只保存系数,指数就是下标,如图所示。有效数据为3,总长度为5(5个格子)问题:如果多项式为h(x)=1+3x^100+4x^200,这样的多项式过于稀疏,存储起来会浪费内存,顺序表长度至少为201,但是只存储了3个数字。因此选用链表2. 链表:每个节点数据保存系数+指数,如图所示。好处:多项式主要是用来进行运算,链表的插入和删除操作相对于顺序表更方便基本操作:多项式的加法、减法、插入、删除、查找、输出。.原创 2022-01-15 17:18:45 · 1492 阅读 · 0 评论 -
C实现魔方阵
题目:实现如下3*3的魔方阵规律:横向、纵向、斜向的数据累加和均为15完整代码:#include<stdio.h>#define N 3int main(){ int i = 0, j = N/2; int magic[N][N] = { 0 }; magic[i][j] = 1; for (int k = 2; k <= N*N; k++)//总共存放9个数 { i = (i - 1 + N) % N; .原创 2022-03-18 22:19:10 · 338 阅读 · 0 评论 -
集合合并(链表实现)
题目说明:实现两个集合的并集AUB,A={1,2,3,4,},B={5,3,1,6};结果:{1,2,3,4,5,6}。并集:相同部分取一次代码解析:1.建立A、B链表,将集合中的数据插入2.合并两个链表,查找B中是否有与A相同元素,如不同插入到A链表中,最终得到的A链表极为最终结果3.使用完后销毁A、B链表代码实现:typedef int ElemType;typedef struct Node{ ElemType data; struct Node*.原创 2022-01-07 11:23:51 · 1935 阅读 · 0 评论
分享