- 博客(44)
- 收藏
- 关注
原创 汇编语言——王爽版 总结
根据章节进行总结,有可能会考的知识点,针对知识点进行总结。速成了解语法和大致原理。这本书十分注重实践,当然知识点也很多,讲的通俗易懂,基本看一遍就知道基本原理,小白也可以很好的去读懂。强烈推荐、字数太多了,敲一半就不想巧了,自己过一遍吧,有能力还是好好看原书,很好理解原理。
2022-11-30 17:20:06 1349 1
原创 树1 树的同构 (25 分)
给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。现给定两棵树,请你判断它们是否是同构的。输入格式:输入给出2棵二叉树树的信息。对于每棵树,首先在一行中给出一个非负整数N (≤10),即该树的结点数(此时假设结点从0到N−1编号);随后N行,第i行对应编号第i个结点,给出该结点中存储的1个英文大写字母、其左孩子结点的编号、右孩子结
2021-11-19 19:27:43 160
原创 已知 前序/后序 和 中序遍历还原二叉树
在二叉树的还原过程中,中序是用来横向确定的,前序或者后序是用来竖向确定的。所以只是单纯的知道前序和后序是无法还原二叉树的。树的结点表示typedef struct node{ int data; struct node* left; struct node* right;}Node;typedef Node* preNode;这里的先序和中序是用数组的形式给出的。已知先序和中序还原二叉树Node * PreInOdReBiTree(int preod[].
2021-11-03 14:48:14 657
原创 树2 List Leaves (25 分)
Given a tree, you are supposed to list all the leaves in the order of top down, and left to right.Input Specification:Each input file contains one test case. For each case, the first line gives a positive integer N (≤10) which is the total number of node
2021-11-03 12:29:30 140
原创 HBU 2-9 彩虹瓶 (20 分) (思路解析)
彩虹瓶的制作过程(并不)是这样的:先把一大批空瓶铺放在装填场地上,然后按照一定的顺序将每种颜色的小球均匀撒到这批瓶子里。假设彩虹瓶里要按顺序装 N 种颜色的小球(不妨将顺序就编号为 1 到 N)。现在工厂里有每种颜色的小球各一箱,工人需要一箱一箱地将小球从工厂里搬到装填场地。如果搬来的这箱小球正好是可以装填的颜色,就直接拆箱装填;如果不是,就把箱子先码放在一个临时货架上,码放的方法就是一箱一箱堆上去。当一种颜色装填完以后,先看看货架顶端的一箱是不是下一个要装填的颜色,如果是就取下来装填,否则去工厂里..
2021-09-15 15:15:54 431
原创 HBU 2-10 出栈序列的合法性 (20 分)(C++ 思路解析)
给定一个最大容量为 M 的堆栈,将 N 个数字按 1, 2, 3, …, N 的顺序入栈,允许按任何顺序出栈,则哪些数字序列是不可能得到的?例如给定 M=5、N=7,则我们有可能得到{ 1, 2, 3, 4, 5, 6, 7 },但不可能得到{ 3, 2, 1, 7, 5, 6, 4 }。输入格式:输入第一行给出 3 个不超过 1000 的正整数:M(堆栈最大容量)、N(入栈元素个数)、K(待检查的出栈序列个数)。最后 K 行,每行给出 N 个数字的出栈序列。所有同行数字以空格间隔。输出格式:.
2021-09-15 15:08:39 422
原创 数据结构—线性表概述
一 、线性表的定义与理解线性表:零个或者多个数据元素的有限序列。若线性表有N个元素,其中的第i个元素,i-1叫做这个i元素直接前驱元素,i+1叫做这个i元素的直接后继元素,每一个元素有且仅有一个直接前驱和一个直接后继,当线性表中的元素为0时,成为空表。线性表中的每一个元素可以有多个数据项构成,如一个结构体中可以有多个组成的数据项。struct people // 数据元素{ int year; //数据项 string name; // 数据项 people *next; // 数据
2021-08-18 20:13:34 337
原创 (二)算法概括
一、算法定义:算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。二、 算法的特性:1、输入输出:在处理一个问题中,输入可以为0。但输出至少要有一个数。2、有穷性:在执行完有限的步骤之后会跳出程序,自动结束,而不会出现无限循环,并且每一个步骤可以在有限的时间内完成。3、确定性:算法的每一步骤都有确定的含义,不会出现二义性。4、可行性:算法的每一步必须是可行的,每一步都能经过有限的次数完成。三、算法设计的要求:1、正确性:应该具有输入输出
2021-08-14 16:29:50 151
原创 (一)数据结构概括
数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。设计程序就是要使用好的数据结构,加上好的算法才能成就一段完美的程序,无论是在刷题还是在事实际工作中,都是十分重要的。程序设计 = 数据结构 + 算法学习数据结构的基本概念和术语 :1、数据:描述客观事物的符号,是计算机中可以操作的对象,能被计算机识别,并输入计算机处理的符号集合。数据不仅仅是我们常见的-1、0、1、2、3、等是实数,还有图片数据,音频数据,视频数据,文字数据等,这..
2021-08-13 21:30:46 171
原创 学习《数据结构》之前对于《 数据结构》这门学科的的看法与理解
为什么要发布这样一篇水文?(虽然我其他的文章也没有什么技术含量)因为这是学前的认知,将来要在最后也写一篇最后的感悟来对比现在的自己和未来的自己思想变化,这是在细致学习数据结构之前的第一篇,在此之前,有走马观花的看过《大话数据结构》和陈越老师的数据结构这门课,但是不求甚解,仅仅是走马观花并没有深入研究,了解一个大概而已。现在我们要正式的去学习《数据结构》这门专业课,所以在CSDN上上传了这篇文章并且也开设了数据结构的专栏来记录我自己学习这个科目的过程,相当于一个学习日志了首先对于数据结构..
2021-08-13 20:55:45 1690
原创 9-2素数判断(基础) 素数对猜想 (20 分)
代码如下:#include<iostream>#include<bits/stdc++.h>#include<vector>using namespace std;int judge(int a);int main(){ int a; vector<int> b; b.push_back(1); cin>>a; for(int i=2;i<=a; i++) if(judge(i)) b.pu..
2021-07-15 20:38:11 101
原创 __gcd函数(基础) 最大公因数与最小公倍数
求两个正整数 a,b 的最大公因数与最小公倍数。两个数的最大公因数指的是 a,b 共有的约数中最大的一个。两个数的最小公倍数指的是 a,b 共有的倍数中最小的一个。输入格式:在一行中给出两个数字 a,b (1<=a,b<=1,000,000,000)输出格式:在一行中以空格分隔输出 a,b 的最大公因数与最小公倍数。输入样例:6 9输出样例:3 18代码如下:#include<iostream>#includ.
2021-07-15 20:18:20 494
原创 矩阵A乘以B 矩阵相乘
给定两个矩阵A和B,要求你计算它们的乘积矩阵AB。需要注意的是,只有规模匹配的矩阵才可以相乘。即若A有Ra 行、Ca 列,B有Rb行、Cb列,则只有Ca与Rb相等时,两个矩阵才能相乘。输入格式:输入先后给出两个矩阵A和B。对于每个矩阵,首先在一行中给出其行数R和列数C,随后R行,每行给出C个整数,以1个空格分隔,且行首尾没有多余的空格。输入保证两个矩阵的R和C都是正数,并且所有整数的绝对值不超过100。若输入的两个矩阵的规模是匹配的,则按照输入的格式输出乘积矩阵AB,否则输..
2021-07-12 13:58:08 2977 2
原创 JAVA 按姓氏分类的电话薄(界面、方法的实现和讲解)
老师又双叒叕留了大作业了,这次这个比较大,废了不少劲也掉了不少头发,虽然实现的方方有点笨,没有其他同学的漂亮,但还是写出来了,这个过程真是心酸有心累,还赶上期末,叫人抓狂,有两天晚上废了一晚上去找bug,还是没有找到,最后我舍友十分钟给找出来的.当晚破防,我是伞兵,我是伞兵,我是伞兵。重要的事情说三遍。如果要是想看实现的结果,直接将三个类CV一下到 idea 上就能编辑出来了,后边的就可以不看了,如果想看个个功能的实现方法和我遇到问题怎么解决的可以看后边,跳过代码,我看代码我也烦。废话不在多说了,..
2021-06-12 21:49:27 1103
原创 JAVA 利用线程实现月食动画
JAVA老师又留实验课的作业了,画月亮,本想着划水过,在网上搜搜就得了,但是老师要求可以改变参数,同学们都是自己写的,老是参考同学的怪不好意思的,还是自己写吧。代码如下:package Moon;import java.awt.Button;import java.awt.Canvas;import java.awt.Color;import java.awt.Container;import java.awt.Font;import java.awt.FontMetrics;.
2021-05-26 20:32:26 892 1
原创 JAVA小作业 简易的菜单文本编辑器
在实验课上留了一个小作业,要求完成一个类似文本编辑器的小窗口。代码如下:package HomeWork;import java.awt.Color;import java.awt.Container;import java.awt.Font;import java.awt.Label;import java.awt.TexturePaint;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;i
2021-05-15 07:49:14 354
原创 L1-048 矩阵A乘以B (15 分)
给定两个矩阵A和B,要求你计算它们的乘积矩阵AB。需要注意的是,只有规模匹配的矩阵才可以相乘。即若A有Ra 行、Ca 列,B有Rb 行、Cb 列,则只有Ca 与Rb 相等时,两个矩阵才能相乘。输入格式:输入先后给出两个矩阵A和B。对于每个矩阵,首先在一行中给出其行数R和列数C,随后R行,每行给出C个整数,以1个空格分隔,且行首尾没有多余的空格。输入保证两个矩阵的R和C都是正数,并且所有整数的绝对值不超过100。输出格式:若输入的两个矩阵的规模是匹配的.
2021-04-14 23:22:25 89
原创 L1-043 阅览室 (20 分)
天梯图书阅览室请你编写一个简单的图书借阅统计程序。当读者借书时,管理员输入书号并按下S键,程序开始计时;当读者还书时,管理员输入书号并按下E键,程序结束计时。书号为不超过1000的正整数。当管理员将0作为书号输入时,表示一天工作结束,你的程序应输出当天的读者借书次数和平均阅读时间。注意:由于线路偶尔会有故障,可能出现不完整的纪录,即只有S没有E,或者只有E没有S的纪录,系统应能自动忽略这种无效纪录。另外,题目保证书号是书的唯一标识,同一本书在任何时间区间内只可能被一位读者借阅。输入格式:..
2021-04-14 21:34:59 78
原创 PTA L1-046 整除光棍 (20 分) (C++)
L1-046 整除光棍 (20 分)这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。提示:一个显然的办法是逐渐增加光棍的位数,直到可以整除x为..
2021-04-14 20:54:54 348
原创 PTA L1-039 古风排版 (20 分)(C语言)
中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。输入格式:输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。输出格式:按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)。输入样例:4This is a test case输出样例:asa Tst ihe tsice s代码如下:#include<stdio.h>#inclu.
2021-04-12 22:41:18 447 1
原创 PTA L1-035 情人节 (15 分) (C语言)
以上是朋友圈中一奇葩贴:“2月14情人节了,我决定造福大家。第2个赞和第14个赞的,我介绍你俩认识…………咱三吃饭…你俩请…”。现给出此贴下点赞的朋友名单,请你找出那两位要请客的倒霉蛋。输入格式:输入按照点赞的先后顺序给出不知道多少个点赞的人名,每个人名占一行,为不超过10个英文字母的非空单词,以回车结束。一个英文句点.标志输入的结束,这个符号不算在点赞名单里。输出格式:根据点赞情况在一行中输出结论:若存在第2个人A和第14个人B,则输出“A and B are inviting you..
2021-04-12 21:39:34 2552 1
原创 PTA L1-016 查验身份证 (15 分)(C语言)
一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:Z:0 1 2 3 4 5 6 7 8 9 10M:1 0 X 9 8 7 6 5 4 3 2现在给定一些身份证号码,请你验证校验码的有效性,并输出有问题的号码。输入格式:输入第一行给出正整数N(≤100)是输入
2021-04-12 21:00:13 4482 5
原创 7-5 点赞 (20分)
7-2 点赞(20 分)微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。本题就要求你写个程序,通过统计一个人点赞的纪录,分析这个人的特性。输入格式:输入在第一行给出一个正整数N(≤1000),是该用户点赞的博文数量。随后N行,每行给出一篇被其点赞的博文的特性描述,格式为“K F1 ⋯FK ”,其中1≤K≤10,Fi (i=1,⋯,K)是特性标签的编号,我们将所有特性标签从1到100
2021-04-10 17:40:44 78
原创 PTA L1-020 帅到没朋友 (20 分)(C++)
#include<stdio.h>#include<math.h>int main ( ){int n,i;int a[202][4];scanf("%d",&n);scanf("%d %d",&a[0][0],&a[0][1]);for(i=1; i<=n; i++){scanf("%d %d",&a[i][0],&a[i][1]);a[i][2] = (a[i][0]-a[0][0])(a[i][0]-a[0][
2021-04-08 18:12:43 1304 2
原创 PTA L1-017 到底有多二 (15 分)(JAVA)
一个整数“犯二的程度”定义为该数字中包含2的个数与其位数的比值。如果这个数是负数,则程度增加0.5倍;如果还是个偶数,则再增加1倍。例如数字-13142223336是个11位数,其中有3个2,并且是负数,也是偶数,则它的犯二程度计算为:3/11×1.5×2×100%,约为81.82%。本题就请你计算一个给定整数到底有多二。输入格式:输入第一行给出一个不超过50位的整数N。输出格式:在一行中输出N犯二的程度,保留小数点后两位。输入样例:-13142223336输..
2021-04-07 23:20:59 275
原创 PTA L1-006 连续因子 (20 分)(C++)
L1-006 连续因子 (20 分)一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。输入格式:输入在一行中给出一个正整数 N(1<N<2 31 )。输出格式:首先在第 1 行输出最长连续因子的个数;然后在第 2 行中按 因子1因子2……*因子k 的格式输出最小的连续因子序列,其中因子按递增顺序输出,1 不算在内。.
2021-04-05 23:23:25 380
原创 用JAVA声明复数类,要求用字符串构造复数
JAVA程序设计老师留的实验题,这道题确实难人,有部分参考,有问题欢迎指出。import java.util.Scanner;public class Complex { private double real; private double image; public Complex(){ } public Complex(double real,double image){ this.real = real; this.im
2021-03-27 16:11:13 1791 3
原创 PTA L1-069 胎压监测 (15 分)(JAVA)
小轿车中有一个系统随时监测四个车轮的胎压,如果四轮胎压不是很平衡,则可能对行车造成严重的影响。让我们把四个车轮 —— 左前轮、右前轮、右后轮、左后轮 —— 顺次编号为 1、2、3、4。本题就请你编写一个监测程序,随时监测四轮的胎压,并给出正确的报警信息。报警规则如下:如果所有轮胎的压力值与它们中的最大值误差在一个给定阈值内,并且都不低于系统设定的最低报警胎压,则说明情况正常,不报警;如果存在一个轮胎的压力值与它们中的最大值误差超过了阈值,或者低于系统设定的最低报警胎压,则不仅要报警,而且要给出可能.
2021-03-21 17:22:46 829 1
原创 PTA L1-034 点赞 (20 分) (C语言)
微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。本题就要求你写个程序,通过统计一个人点赞的纪录,分析这个人的特性。输入格式:输入在第一行给出一个正整数N(≤1000),是该用户点赞的博文数量。随后N行,每行给出一篇被其点赞的博文的特性描述,格式为“K F1 ⋯FK ”,其中1≤K≤10,Fi (i=1,⋯,K)是特性标签的编号,我们将所有特性标签从1到1000编号。数字间以空格..
2021-03-01 18:14:48 1490
原创 L1-032 Left-pad (20 分) (C语言)
根据新浪微博上的消息,有一位开发者不满NPM(Node Package Manager)的做法,收回了自己的开源代码,其中包括一个叫left-pad的模块,就是这个模块把javascript里面的React/Babel干瘫痪了。这是个什么样的模块?就是在字符串前填充一些东西到一定的长度。例如用去填充字符串GPLT,使之长度为10,调用left-pad的结果就应该是*****GPLT。Node社区曾经对left-pad紧急发布了一个替代,被严重吐槽。下面就请你来实现一下这个模块。输入格式:输入在第一.
2021-02-16 20:27:04 1493
原创 PTA L1-023 输出GPLT (20 分) (C语言)
给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按GPLTGPLT…这样的顺序输出,并忽略其它字符。当然,四种字符(不区分大小写)的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按GPLT的顺序打印,直到所有字符都被输出。输入格式:输入在一行中给出一个长度不超过10000的、仅由英文字母构成的非空字符串。输入样例:pcTclnGloRgLrtLhgljkLhGFauPewSKgt输出格式:在一行中按题目要求输出排序后的字符串。题目保证输出非空。.
2021-02-15 16:29:10 214
原创 PTA L1-019 谁先倒 (15 分)(C语言)
L1-019 谁先倒 (15 分)划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。下面给出甲、乙两人的酒量(最多能喝多少杯不倒)和划拳记录,请你判断两个人谁先倒。输入格式:输入第一行先后给出甲、乙两人的酒量(不超过100的非负整数),以空格分隔。下一行给出一个正整数N(≤100),随后N行,每行给出一轮划拳的记.
2021-02-15 15:19:24 282 1
原创 CSP 201604-1折点计数
给定n个整数表示一个商店连续n天的销售量。如果某天之前销售量在增长,而后一天销售量减少,则称这一天为折点,反过来如果之前销售量减少而后一天销售量增长,也称这一天为折点。其他的天都不是折点。如下图中,第3天和第6天是折点。给定n个整数a1, a2, …, an表示销售量,请计算出这些天总共有多少个折点。 为了减少歧义,我们给定的数据保证:在这n天中相邻两天的销售量总是不同的,即ai-1≠ai。注意,如果两天不相邻,销售量可能相同。输入格式 输入的第一行包含一个整数n。 第二行包含n个整数,.
2021-02-07 10:43:27 177
原创 CSP 201509-1 数列分段
问题描述 给定一个整数数列,数列中连续相同的最长整数序列算成一段,问数列中共有多少段?输入格式 输入的第一行包含一个整数n,表示数列中整数的个数。 第二行包含n个整数a1, a2, …, an,表示给定的数列,相邻的整数之间用一个空格分隔。输出格式 输出一个整数,表示给定的数列有多个段。样例输入88 8 8 0 12 12 8 0样例输出5样例说明 8 8 8是第一段,0是第二段,12 12是第三段,倒数第二个整数8是第四段,最后一个0是第五段。评测用例规模与约定 .
2021-02-07 09:39:59 272
原创 CSP 201503-1 图像旋转
问题描述 旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度。 计算机中的图像表示可以用一个矩阵来表示,为了旋转一个图像,只需要将对应的矩阵旋转即可。输入格式 输入的第一行包含两个整数n, m,分别表示图像矩阵的行数和列数。 接下来n行每行包含m个整数,表示输入的图像。输出格式 输出m行,每行包含n个整数,表示原始矩阵逆时针旋转90度后的矩阵。样例输入2 31 5 33 2 4样例输出3 45 21 3评测用例规模与约定 1 ≤ n, m.
2021-02-07 09:28:38 132 1
原创 CSP 201412-1 门禁系统(C语言)
问题描述 涛涛最近要负责图书馆的管理工作,需要记录下每天读者的到访情况。每位读者有一个编号,每条记录用读者的编号来表示。给出读者的来访记录,请问每一条记录中的读者是第几次出现。输入格式 输入的第一行包含一个整数n,表示涛涛的记录条数。 第二行包含n个整数,依次表示涛涛的记录中每位读者的编号。输出格式 输出一行,包含n个整数,由空格分隔,依次表示每条记录中的读者编号是第几次出现。样例输入51 2 1 1 3样例输出1 1 2 3 1评测用例规模与约定 1≤n≤1,000,读
2021-02-07 09:13:55 281
原创 PTA 7-7 猜数字 (20 分) C语言
7-7 猜数字 (20 分)一群人坐在一起,每人猜一个 100 以内的数,谁的数字最接近大家平均数的一半就赢。本题就要求你找出其中的赢家。输入格式:输入在第一行给出一个正整数N(≤104 )。随后 N 行,每行给出一个玩家的名字(由不超过8个英文字母组成的字符串)和其猜的正整数(≤ 100)。输出格式:在一行中顺序输出:大家平均数的一半(只输出整数部分)、赢家的名字,其间以空格分隔。题目保证赢家是唯一的。输入样例:7Bob 35Amy 28James 98Alice 11
2021-02-04 09:35:41 1178
原创 PTA 7-6 出租 (20分)(C语言)
一时间网上一片求救声,急问这个怎么破。其实这段代码很简单,index数组就是arr数组的下标,index[0]=2 对应 arr[2]=1,index[1]=0 对应 arr[0]=8,index[2]=3 对应 arr[3]=0,以此类推…… 很容易得到电话号码是18013820100。本题要求你编写一个程序,为任何一个电话号码生成这段代码 —— 事实上,只要生成最前面两行就可以了,后面内容是不变的。输入格式:输入在一行中给出一个由11位数字组成的手机号码。如:18013820100..
2021-01-23 13:27:21 262
原创 PTA 7-5 出生年 (15分)(C语言)
题目如下:以上是新浪微博中一奇葩贴:“我出生于1988年,直到25岁才遇到4个数字都不相同的年份。”也就是说,直到2013年才达到“4个数字都不相同”的要求。本题请你根据要求,自动填充“我出生于y年,直到x岁才遇到n个数字都不相同的年份”这句话。输入格式:输入在一行中给出出生年份y和目标年份中不同数字的个数n,其中y在[1, 3000]之间,n可以是2、或3、或4。注意不足4位的年份要在前面补零,例如公元1年被认为是0001年,有2个不同的数字0和1。输出格式:根据输入,输出x和能达.
2021-01-23 11:56:32 1838
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人