oj
文章平均质量分 58
星星星星星哈
这个作者很懒,什么都没留下…
展开
-
java-表达式求值(初级)
question description 设计一个表达式求值的程序 ,支持+,-,*,/,%,(,)以及=运算符组成的表达式的运算。假设数字只包含int和float,并且全部的表达式都是正确的。注意表达式向上cast:除法 1/3=0,1.0/2=0.5int+float=float表达式最后的=可以包含也可以不包含sample inpput and output样例1 input: 1+1.0 output:2.0样例2 input: (55)%11(9+2) output: 33样.原创 2021-06-16 19:33:49 · 2101 阅读 · 1 评论 -
算法导论oj汇总
Remove K digitsDescriptionA set has the following elements: 1, and x. If x is in the set, then (2 * x + 1) and (4 * x + 5) are also in the set.For example, because 1 is in the set, 3=(2 * 1 + 1) and 9=(4 * 1 + 5 )are also in the set.Take out the smal原创 2021-05-20 12:14:51 · 1037 阅读 · 0 评论 -
判断排序方法(c++)
题目描述插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置。如此迭代直到全部元素有序。归并排序进行如下迭代操作:首先将原始序列看成N个只包含1个元素的有序子序列,然后每次迭代归并两个相邻的有序子序列,直到最后只剩下1个有序的序列。现给定原始序列和由某排序算法产生的中间序列,请你判断该算法究竟是哪种排序算法?输入格式:输入在第一行给出正整数N (<=100);随后一行给出原始序列的N个整数;最后一行给出由某排序算法原创 2020-12-24 16:47:17 · 1212 阅读 · 2 评论 -
数据结构题目汇总
学校oj系统上数据结构题目的汇总,方便自己回顾。原创 2020-12-24 09:58:17 · 6260 阅读 · 2 评论 -
创建RB树c++
样例输入1:13 1 45 34 98 9 4 35 23 36 37 90 85 80 3 85 27 9样例输出1:34(B) 4(B) 1(B) 9(B) 23® 45(B) 36(B) 35® 37® 90® 85(B) 80® 98(B)1 9834(B) 4(B) 1(B) 23(B) 45(B) 36(B) 35® 37® 90® 80(B) 98(B)样例输入2:3 18 2 70样例输出2:7(B) 2® 18®2 187(B) 2® 18®注意:遍历输出..原创 2020-12-14 17:23:42 · 826 阅读 · 1 评论 -
构造最小连通图c++
题目描述一个无向图 中包含 个点和 条边。矩阵 的第 行第 列元素 表示如果第 个点和第 个点没有联通的情况下,在这两个点之间构造一条边的代价。你的任务是在图中不断构造新的边使得整个图变成连通图,并且构造所消耗的代价最小。最终输出该代价和。 点的编号从1开始。Input Format第一行为一个数 ,表示图中点的个数。而后的 行都由 个被空格分隔的数组成,第 行第 列表示第 个点和第 个点没有联通的情况下,在这两个点之间构造一条边的代价(即这 行 列为矩阵 )。而原创 2020-12-04 15:51:09 · 1085 阅读 · 0 评论 -
堆(c++)数据结构
判断是否为堆题目描述请判断输入的整数序列是否为堆。如果为最大堆,请输出“max ”以及整理后的最小堆,整数序列数字之间有空格,最后无空格。如果为最小堆,请输出“min ” 以及整理后的最大堆,整数序列数字之间有空格,最后无空格。如果不为堆,请输出整理后的最大堆,整数序列数字之间有空格,最后无空格。如果既是最大堆也是最小堆,请只输出“max min ”Input Format先输入整数序列个数n 0<n<1000然后输入n个整数序列,整数取值范围【-100000,10000原创 2020-11-16 19:21:21 · 553 阅读 · 0 评论 -
优先队列的用法(priority_queue)
(priority_queue)优先队列的应用定义:priority_queue<Type, Container, Functional>需要包含头文件作用:可以自定义其中数据的优先级, 让优先级高的排在队列前面,优先出队。和队列基本操作相同:top 访问队头元素empty 队列是否为空size 返回队列内元素个数push 插入元素到队尾 (并排序)emplace 原地构造一个元素并插入队列pop 弹出队头元素swap 交换内容当需要用自定义的数据类型时才需要传入原创 2020-11-16 19:15:30 · 326 阅读 · 0 评论 -
旋转的矩阵-c++
旋转的矩阵-数据结构题目描述给定一个n*m的矩阵,请以顺、逆时针交替旋转的方式打印出每个元素。Input Format第一行n m; 0<n,m<100后n行,每行m个整数。Output Formatn*m个矩阵元素,空格隔开。ExampleInput4 41 2 3 412 13 16 511 14 15 610 9 8 7Output1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16Input3 41 2 3原创 2020-10-26 18:09:04 · 899 阅读 · 0 评论 -
二元一次多项式的幂(大整数)-c++
计算二元一次多项式的幂(大整数)#include<iostream>#include<queue>#include<string>#include<string.h>using namespace std;//将数字的非符号部分存入字符串 string getNum(const string& s) { int t = s.size(); string str = ""; if (s[0] == '-') { for (i原创 2020-10-26 16:13:01 · 1164 阅读 · 3 评论 -
数据结构kmp算法应用(c++)
根据next数组推导模式字符串题目描述根据KMP算法的next数组值,推断模式字符串。假设模式字符串中只存在0,1两种字符。给出首字符和next数组。请输出模式字符串。如果next数组不合法则输出ERRORInput Format先输入模式字符串首字符0或者1,然后输入尾字符0或者1再输入 模式字符串长度n,n<=30最后输入n个以 -1,0,起始的整数。Output Format模式字符串 或者 ERROR#include <iostream>using names原创 2020-10-25 19:37:06 · 797 阅读 · 0 评论 -
数据结构-判断栈混洗c++
判断栈混洗题目描述判断一个输入序列是否为某一个序列的栈混洗。设输入序列为1-N的数字。输入:n,随后输入一个包含n个数字序列。范围从1到n的不同数字输出:如果是合法的栈混洗输出ture,否则输出false;要求O(N)时间复杂度#include<iostream>#include<stack>using namespace std;int main() { int n; cin >> n; int* data = new int[n];原创 2020-10-13 18:25:07 · 1734 阅读 · 0 评论 -
数据结构——线性表位置交换c++
线性表位置交换描述:暂无内已知顺序存储的线性表,依次存放两个顺序表,(a1…an)(b1…bm),尝试设计算法更换两个顺序表的位置,即存储顺序改为(b1…bm)(a1…an)。要求辅助存储空间复杂度为O(1)。试分析算法的时间复杂度。输入两个顺序表长度,n,m,然后输入n+m个整数交换顺序表的位置,输出。输入:3 538 26 41 42 82 98 76 63输出:42 82 98 76 63 38 26 41思路:利用几次倒转排列实现两个顺序表位置的交换。代码实现#include原创 2020-10-13 16:49:13 · 1099 阅读 · 0 评论 -
约瑟夫环c++实现(数据结构题目记录)
数据结构约瑟夫环问题c++实现题目描述:一个刚出锅的山芋,在围成一圈的n(以编号1,2,3…n分别表示 )个孩子间传递。大家一起数数,从编号为1的孩子开始报数,每数一次,当前拿着山芋的孩子就把山芋交给紧邻其右的孩子。 一旦数到事先约定的某个数k , 那个人就出列,他的下一个人又从1开始报数,数到数k的那个人就出列。如此反复,最后剩下的那个孩子就是幸运者。试实现算法josephus(int n, int k),输出孩子们出列的次序程序输入:n k程序输出:孩子们出列的次序例子:输入8 3输出:原创 2020-10-06 12:54:32 · 712 阅读 · 0 评论