- 博客(49)
- 收藏
- 关注
原创 寻找多数元素
【问题描述】给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。题目保证一定存在多数元素。【输入形式】输入的第1行中有1个数字n,表示数组的长度;第2行中有n个数字,表示数组的元素。【输出形式】输出1行一个数字表示该数组中的多数元素。
2024-01-21 10:30:47
473
原创 运动员最佳匹配问题
给定2 个n×n 矩阵P 和Q。P[i][j]是男运动员i 和女运动员j配对组成混合双打的男运动员竞赛优势;Q[i][j]是女运动员i和男运动员j配合的女运动员竞赛优势。由于技术配合和心理状态等各种因素影响,P[i][j]不一定等于Q[j][i]。男运动员i和女运动员j配对组成混合双打的男女双方竞赛优势为P[i][j]*Q[j][i]。第一行是男队员(或女队员)的个数,第二、三、四行是男运动员i 和女运动员j配对组成混合双打的男运动员竞赛优势,第五、六、七行是女运动员i和男运动员j配合的女运动员竞赛优势。
2024-01-20 19:54:01
582
原创 汽车加油问题(贪心)
由文件input.txt 给出输入数据。第一行有2 个正整数n 和k,表示汽车加满油后可行驶n 公里,且旅途中有k 个加油站。接下来的1 行中,有k+1 个整数,表示第k 个加油站与第k-1 个加油站之间的距离。第0 个加油站表示出发地,汽车已加满油。第k+1 个加油站表示目的地。设计一个有效算法,指出应在哪些加油站停靠加油,使沿途加油次数最少。将编程计算出的最少加油次数输出到文件output.txt。对于给定的n 和k 个加油站位置,编程计算最少加油次数。输入文件示例输出文件示例。
2024-01-20 16:37:27
559
原创 整数因子分解问题(分治法&&欧拉线性筛素数)
由文件input.txt 给出输入数据。第一行有1 个正整数n (1≤n≤2000000000)。大于1 的正整数n 可以分解为:n=x1*x2*…对于给定的正整数n,编程计算n 共有多少种不同的分解式。将计算出的不同的分解式数输出到文件output.txt。输入文件示例 输出文件示例。
2024-01-16 21:06:33
973
原创 Huffman树实现文件压缩
【问题描述】给定一个文件,文件由n个字符组成,但他们出现的频度不相同。要求对该文件中的字符集构造哈夫曼树,并计算编码后的文件长度。使用哈夫曼编码后,各字符的编码长度分别为2 3 2 3 2,文件长度为2*20+3*7+2*10+3*4+2*18=129。输入的第1行有1个数字n,表示文件中总的字符个数。接下来1行中有n个数字,分别表示n个字符出现的频度。输出1行包含1个数字,表示使用哈夫曼编码后该文件的长度。
2024-01-05 12:33:34
449
原创 CSP201409-2
在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色。比如图中这个矩形,用到坐标[1,1][2,1][3,1],[1,2],[2,2],[2,3],[1,3],[2,3],[3,3],就能表示它被染色。接下来n行,每行4个非负整数,分别表示要画的矩形的左下角的横坐标与纵坐标,以及右上角的横坐标与纵坐标。给出所有要画的矩形,请问总共有多少个单位的面积被涂上颜色。输入的第一行包含一个整数n,表示要画的矩形的个数。
2023-12-06 19:59:17
435
原创 二叉排序树(BST)的判定
【问题描述】课后第6题。试写一个判别给定二叉树是否为二叉排序树的算法。以前序遍历序列和中序遍历序列给出该二叉树的结点,并创建该二叉树。请注意,树中结点关键字可能相同。【提示】若直接根据给定的中序是否有序来进行判断,此种判断方法不得分。务必先创建二叉树的链式存储,再对其进行判断。
2023-06-14 20:54:20
210
原创 约瑟夫环问题(单向循环链表,C++,简单版)
之前写约瑟夫环问题的题目时参考了网上别人的做法,现在觉得别人的做法太复杂,于是自己写了一个算法。【输入形式】输入n和m的值,其中n为总人数,m为报数的密码。【问题描述】用不带头结点的单向循环链表解决约瑟夫环问题。【输出形式】胜利者编号,也就是最后一个离开队伍的人。
2023-06-13 15:57:15
340
原创 【问题描述】实现不带头结点的双向循环链表的创建,然后实现该双向循环链表上数据的排序。
【问题描述】实现不带头结点的双向循环链表的创建,然后实现该双向循环链表上数据的排序。【样例输入】5 7 2 8 1 3 4 9 6 0。【样例输出】1 2 3 4 5 6 7 8 9。【提示】0代表数据输入的结束。【输出形式】排序后的数据。【输入形式】随机的数据。
2023-06-13 14:18:50
204
原创 单链表的变换(2019年考研统考真题)
【问题描述】设线性表L={a1,a2,a3,...,an-2,an-1,an}采用带头结点的单链表保存,请设计一个空间复杂度为O(1)且时间上尽可能高效的算法,重新排列L中的各结点,得到线性表L'={a1,an,a2,an-1,a3,an-2,...)。如输入1 2 3 4 5 6 7 8 9 0,输出为1 9 2 8 3 7 4 6 5 ,输入9 8 7 6 5 4 3 2 1 0,输出则为9 1 8 2 7 3 6 4 5。②找到与当前结点配对的结点之后,要插入的结点应该插到哪个位置?
2023-06-13 13:41:40
270
原创 单链表删除重复元素算法
最近再刷数据结构时写了一个单链表排序算法,这个算法中要注意的点是,不能把第二个while中的两个条件位置颠倒。如果把这两个条件位置颠倒了,即while(p->data==q->data&&q!=NULL&&p->data==q->data)是一样的,但是实际上不一样。如果条件颠倒为while(p->data==q->data&&q!=NULL),在q为NULL时,编译器从左向右判断,既然q为NULL,那就没有q->data了,并且编译器不再判断第二个条件,所以编译器引发内存错误。
2023-06-13 09:36:02
365
原创 【问题描述】请调整顺序表的数据,使得左边为奇数,右边为偶数,要求时间复杂度为O(n)。【样例输入】25 34 57 50 16 48 9 62 0【样例输出】25 9 57 50 16 48
【问题描述】请调整顺序表的数据,使得左边为奇数,右边为偶数,要求时间复杂度为O(n)。【样例输入】25 34 57 50 16 48 9 62 0。【样例输出】25 9 57 50 16 48 34 62。
2023-06-12 13:34:54
194
原创 字符串差集
求两个字符串的差集,即:将字符串A中与字符串B中相同的字符去掉(大小写相关,即同一字符的大小写认为是两个不同的字符)。字符串A中与字符串B相同的字符有两个:空格符和'o',将这两个字符从A中去掉,并且剩余的重复字符'l'只能出现一次,按照ASCII码从小到大的顺序输出为:!先从键盘输入字符串A,然后输入字符串B,每个字符串末尾都有回车换行符,但回车换行符不作为字符串的字符,并且每个字符串不超过50个字符。按照ASCII码从小到大的顺序输出字符串A减去字符串B的差集,并且重复字符只出现一次。
2023-06-09 12:17:44
331
原创 将一个整数插入数组中
请输入10个整数至一维数组a中,并输入一个待插入的整数n及其插入位置pos,若pos位置正确则将n插入至数组a中,否则输出“输入位置不正确”,这里我们10个整数分别占据一个数组的下标0-9,插入的位置pos表示新输入的数插入数组下标为pos的位置。正确插入表示插入完之后数组里的排列依旧是连续的,具体参考样例。第一行10个整数,第二行两个整数pos,num分别表示插入的位置和插入的数。如果可以正确插入,那么输出插入后的数组;否则输出“输入位置不正确”。
2023-06-09 11:03:50
938
原创 【问题描述】请分别计算n个学生四门课程的平均成绩,要求:n从键盘输入;n个学生四门课程的成绩从键盘输入并存放在一个二维数组score中;4门课程的平均成绩存放在一个一维数组a中。
【问题描述】请分别计算n个学生四门课程的平均成绩,要求:n从键盘输入;n个学生四门课程的成绩从键盘输入并存放在一个二维数组score中;4门课程的平均成绩存放在一个一维数组a中。【输入形式】第一行一个整数n,表示有n个学生,然后有n行,每一行四个整数用空格分隔,表示学生四门课的成绩。对于所有的测试数据有1
2023-06-09 09:07:02
585
原创 比较三个数的大小
【样例说明】任意输入三个整数,比较大小,按从小到大的顺序输出。【问题描述】从键盘输入三个整数,比较这三个数的大小。【输入形式】5 3 9。【输出形式】3 5 9。【样例输入】8 6 3。【样例输出】3 6 8。
2023-06-08 20:37:49
134
原创 【问题描述】给一个不多于5位的正整数,要求:分别打印出每一位数字,并求出它是几位数。【输入形式】输入一个不多于5 位的正整数。【输出形式】从高位到低位输出各位的数字,再输出总的位数。
【代码】【问题描述】给一个不多于5位的正整数,要求:分别打印出每一位数字,并求出它是几位数。【输入形式】输入一个不多于5 位的正整数。【输出形式】从高位到低位输出各位的数字,再输出总的位数。
2023-06-08 19:57:10
1028
原创 【问题描述】假设二叉树采用二叉链表方式存储,root指向根结点,p所指结点和q所指结点为二叉树中的两个不同结点,且互不成为根到该结点的路径上的点,编程求解距离它们最近的共同祖先。【输入形式】二叉树
问题描述】假设二叉树采用二叉链表方式存储,root指向根结点,p所指结点和q所指结点为二叉树中的两个不同结点,且互不成为根到该结点的路径上的点,编程求解距离它们最近的共同祖先。【输入形式】二叉树的前序和中序遍历序列,用以创建该二叉树的链式存储结构;以及二叉树的两个结点数据 x 和 y【输出形式】结点数据值为 x 和结点数据值为 y 的最近的共同祖先,若没有共同祖先则输出NULL,请注意一个结点本身不能成为另一个结点的共同祖先。【样例输入】GABDCEFBDAEFCGDF【样例输出
2023-06-04 14:01:55
487
原创 【问题描述】请根据输入的数据创建一棵二叉排序树。然后执行相应操作。1 删除某一值为x的结点2 求指定结点y在二叉排序树中的层数【输入形式】结点数据,以0代表结束输入。待删除的x
请根据输入的数据创建一棵二叉排序树。创建好的二叉排序树的拓展的前序遍历结果。2 求指定结点y在二叉排序树中的层数。删除后的二叉排序树的中序遍历结果。结点数据,以0代表结束输入。1 删除某一值为x的结点。待删除的x,待求层数的y。
2023-05-23 21:18:46
183
1
空空如也
数字排序算法问题,请问为什么有些样例无法通过
2024-02-19
哈希表求解出现次数最多的数
2024-02-09
判断该数组是不是某二叉查找树(折半查找树)的后序遍历的结果。
2023-06-14
二叉排序树(BST)的判定
2023-06-14
贪吃蛇小游戏,请问为什么光标到处乱跳,运行窗口什么也不显示
2023-05-16
输出1-1000以内的完数遇到问题
2023-03-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人