自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 《双向队列》

双向队列(deque,全名double-ended queue)是一种具有队列和栈性质的数据结构。对于队列,我们只能在头部删除或在尾部添加元素,而「双向队列Deque」更加灵活,在其两端都能执行元素添加或删除操作。

2023-05-09 08:55:07 1670 1

原创 Hash表

给定一个长度为 n 的字符串,再给定 m 个询问,每个询问包含四个整数 l1,r1,l2,r2,请你判断 [l1,r1]和 [l2,r2] 这两个区间所包含的字符串子串是否完全相同。对于每个询问指令 Q x,输出一个询问结果,如果 x 在集合中出现过,则输出 Yes,否则输出 No。对于每个询问输出一个结果,如果两个字符串子串完全相同则输出 Yes,否则输出 No。接下来 N 行,每行包含一个操作指令,操作指令为 I x,Q x 中的一种。现在要进行 N 次操作,对于每个询问操作输出对应的结果。

2023-04-28 22:23:03 868

原创 快速理解哈希(Hash)表的运作原理

(说明:28%13=2,由于下标2被占用,下标换为2+12;28%13=2,下标换为2+22,...同理 )(说明:28%13=2,由于下标2占位,往后寻找空位放入即最终找到下标4这个空位;哈希函数是根据关键字设计的,有很多种函数,主要的原理就是根据数组的大小求模运算。要设置第二个哈希的函数,例如: hash2(key)=R-(key mod R)它是一种数据结构,设计出来用于存放数据。如果遇到冲突,新位置=原始位置+ i . hash 2(关键字)如果遇到冲突,新位置=原始位置+ i(i是冲突的次数)

2023-04-28 22:15:28 1272

原创 列表、栈、队列

一系列有序元素的集合。列表中的元素可以是任意类型,允许重复。可通过索引定位、访问列表中的(单个)元素,还可使用切片(slice)操作一次性访问多个元素,从而实现对列表的复杂操作。通过对象引用来操作列表,例如:使用append()、insert()、remove()等方法实现动态地插入或删除元素(使用频繁)ArrayList:基于动态数组实现的列表,支持快速随机访问和插入/删除操作(需要移动大量元素--在开头或中间插入/删除时,被插入/删除位置之后的所有元素都要往前/后移位)。

2023-04-22 14:25:30 879

原创 前缀和及差分

输入一个 n 行 m 列的整数矩阵,再输入 q 个操作,每个操作包含五个整数 x1,y1,x2,y2,c,其中 (x1,y1) 和 (x2,y2) 表示一个子矩阵的左上角坐标和右下角坐标。输入一个 n 行 m 列的整数矩阵,再输入 q 个询问,每个询问包含四个整数 x1,y1,x2,y2,表示一个子矩阵的左上角坐标和右下角坐标。接下来输入 m 个操作,每个操作包含三个整数 l,r,c,表示将序列中 [l,r] 之间的每个数加上 c。接下来 m 行,每行包含三个整数 l,r,c,表示一个操作。

2023-04-19 23:18:56 618

原创 高精度的乘除法

给定两个非负整数(不含前导 0) A,B ,请你计算 A/B 的商和余数。给定两个非负整数(不含前导 0) A 和 B,请你计算 A×B 的值。共两行,第一行包含整数 A,第二行包含整数 B。共两行,第一行包含整数 A,第二行包含整数 B。共两行,第一行输出所求的商,第二行输出所求余数。共一行,包含 A×B 的值。1≤A的长度≤100000,1≤A的长度≤100000,793. 高精度乘法。794. 高精度除法。

2023-04-19 22:23:10 378

原创 高精度的加减法

给定两个正整数(不含前导 0),计算它们的差,计算结果可能为负数。给定两个正整数(不含前导 0),计算它们的和。共两行,每行包含一个整数。1≤整数长度≤100000。共两行,每行包含一个整数。共一行,包含所求的和。共一行,包含所求的差。791. 高精度加法。792. 高精度减法。1≤整数长度≤105。

2023-04-19 13:22:41 110

原创 排序及二分

第二行包含 n 个整数(所有整数均在 1∼109 范围内),表示整个数列。第二行包含 n 个整数(所有整数均在 1∼109 范围内),表示整个数列。第二行包含 n 个整数(所有整数均在 1∼109 范围内),表示整个数列。第二行包含 n 个整数(均在 1∼10000 范围内),表示完整数组。共 q 行,每行包含两个整数,表示所求元素的起始位置和终止位置。接下来 q 行,每行包含一个整数 k,表示一个询问元素。输出共一行,包含 n 个整数,表示排好序的数列。输出共一行,包含 n 个整数,表示排好序的数列。

2023-04-18 23:18:22 371

原创 键盘录入及标识符

●为什么要有键盘录入?目的:为了让我们操作的数据,变得更加灵活举例:int a=10;这里a虽然是个变量,但记录的值,却是手动写死的。提问:能不能让a变量记录的值,灵活起来,用户输入什么,a变量就记录什么。/*步骤 1: 导包,需要写在class的上面步骤 2: 创建对象只有 sc可以改变,其他属于固定格式步骤 3: 使用变量接收数据只有 i变量可以改变,其他属于固定格式*///步骤 2: 创建对象//步骤 3: 使用[变量]接收数据。

2023-04-18 19:17:34 612

原创 数据类型及变量的定义、使用和注意事项

数据类型 变量名=数据值;/*基本数据类型:整数:byte 1个字节short 2个字节int 4个字节long 8个字节小数:float 4个字节double 8个字节字符:char 2个字节布尔:boolean 1个字节*///格式:数据类型 变量名=数据值;//整数类型变量int a=10;//小数类型变量//字符类型变量char c='a';//布尔类型变量int a=10;char c='a';

2023-04-18 19:09:05 1281

原创 常量及变量的介绍

以上两块内存空间,所记录的值,是经常发生改变的,对于这种经常发生改变的数据,就是所谓的变量。结论:变量就是内存中的存储空间,空间中存储着经常发生改变的量(数据)●变量的定义格式。

2023-04-18 18:45:30 83

原创 注释和关键字

关键字,可以将其理解为,比关键字更为关键的一个单词,因为JVM在执行代码的时候,只会识别该单词。●常用的代码编译器,针对关键字有特殊的颜色标记,非常直观。看看大佬的代码注释 ---缓解缓解心情吧!格式: /** 注释信息 */格式: /* 注释信息 */格式:// 注释信息。●简单理解:对代码的一种解释说明,

2023-04-18 18:23:56 648

原创 HelloWorld案例详解

指在程序中,出现的缺陷或问题,简称程序漏洞。

2023-04-18 18:12:19 901

原创 JRE和JDK 及 常用DOS命令

●编写代码●编译代码●运行代码。

2023-04-15 23:12:58 786

原创 Java语言背景介绍 及 语言跨平台原理

在不同的操作系统中,都安装一个与操作系统对应的Java虚拟机()即可。

2023-04-15 22:40:55 727

原创 4-数据结构

1. 简介数据结构是在计算机中组织与存储数据的方式如果想要表示“一排数字”,自然想到使用「数组」数据结构数组的存储方式可以表示数字的相邻关系、顺序关系,但至于其中存储的是整数int,还是小数float, 或是字符char,则与所谓的数据的结构无关了换言之,基本数据类型提供了数据的“内容类型”,而数据结构提供数据的“组织方式”2.分类数据结构主要可根据「逻辑结构」和「物理结构」两种角度进行分类3.逻辑结构「逻辑结构」反映了数据之间的逻辑关系。

2023-04-15 15:53:46 854

原创 《3-链表》

引言:存储数组需要内存空间连续,当我们需要申请一个很大的数组时,系统不一定存在这么大的连续内存空间。而链表则更加灵活,不需要内存是连续的,只要剩余内存空间大小够用即可1.定义 :「链表 Linked List」是一种线性数据结构,数据元素(即结点)的逻辑顺序之间通过指针连接。由于结点中记录了连接关系,因此链表的存储方式相比于数组更加灵活,系统不必保证内存地址的连续性链表的「结点Node」包含两项数据:一是结点「值Value」;

2023-04-15 14:22:45 821

原创 《2-数组》

例如查字典的例子,我们可以将字典中的所有字按照拼音顺序存储在数组中,然后使用与日常查纸质字典相同的“翻开中间,排除一半” 的方式,来实现一一个查电子字典的算法。●内存浪费:我们一般会初始化一个比较长的数组,只用前面一部分,这样在插入数据时,丢失的末尾元素都是我们不关心的,但这样做同时也会造成内存空间的浪费。给定数组首个元素的地址和一个元素的索引,利用以下公式可以直接计算得到该元素的内存地址,从而直接访问此元素。●丢失元素:由于数组的长度不可变,因此在插入元素后,超出数组长度范围的元素会被丢失。

2023-04-15 00:41:23 405

原创 1-时间复杂度分析

借用“细胞分裂”来代表指数阶增长:初始状态为1个细胞,分裂一轮后为2个,分裂两轮后为4个,....分裂n轮后为2n个细胞,指数阶常出现于递归函数。涨知识:「遍历数组」和「遍历链表」等操作,时间复杂度都为O(n),其中n为数组或链表的长度。例如以下代码,第一层分裂出n个,第二层分裂出n-1个,....,直至到第n层时终止分裂。线性对数阶常出现于嵌套循环中,两层循环的时间复杂度分别为O(logn)和O(n)平方阶常出现于嵌套循环,外层循环和内层循环都为O(n),总体为O(n2)

2023-04-14 22:44:11 948 2

原创 每日学习 1242--1245

已知旅行的距离、汽车平均速度、每公升汽油可行驶的公里数及每公升汽油的价格,求CoCo花在驾驶汽车上的时间和购买汽油的钱数。输入四个数据,依次表示:旅行的距离(单位:公里)、汽车平均速度(公里/小时)、每公升汽油可以行驶的公里数(单位:公里)、每公升汽油价格(元/公升)。+n×(n+1)×(n+2)的值,其中n是不大于m的最大整数。即,如果某三角形既是等腰的,又是直角的,则判断结果是等腰的。输出驾驶汽车所花费的时间(单位:小时)和购买汽油的钱数(单位:元)。+n×(n+1)×(n+2)的。

2023-01-29 14:21:04 866

原创 每日学习 1230--1237

1230四数比大小时间限制 :| 内存限制 :提交数 :5445| 通过数 :2815题目描述输入4个整数,将这4个数从大到小输出。输入要求输入4个整数。假设数据都在int型数据范围内。输出要求从大到小输出各数,每个数之间用空格隔开,最后一个数后无空格,直接换行。输入样例输出样例提示来源NBU OJ。

2023-01-29 13:20:48 641

原创 每日学习 1220--1229

1220火车行李托运费时间限制 :| 内存限制 :提交数 :4204| 通过数 :2967题目描述假设乘坐火车托运行李时按下列式子收费:式子中的x为行李的重量,y为应交的费用。请编写程序计算应交金额y(元)。输入要求输入行李的重量x(整数)。输出要求输出应交的金额。输入样例40输出样例40提示来源NBU OJ1221画等腰三角形时间限制 :| 内存限制 :提交数 :5008| 通过数 :2947题目描述。

2023-01-29 12:05:26 874 1

原创 每日学习 1210--1219

1210班费问题时间限制 :| 内存限制 :提交数 :4577| 通过数 :1420题目描述期末了,班长CoCo决定将剩余班费x元钱用于购买若干支钢笔进行奖励。商店里有三种钢笔,单价分别为6元、5元和4元。小Q想买尽量多的笔,并且不再剩余钱。请帮小Q制定出一种买笔的方案。若无解(指所有方案都有剩余钱)则输出“No Answer”。输入要求班费x元输出要求有解时依次输出6元、5元和4元钢笔各买支数。

2023-01-28 15:05:48 1811 1

原创 每日学习 1200--1209

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)在一个字符串中查找指定的一个字符,并输出指定的字符在字符串中出现的次数及位置。

2023-01-28 13:14:41 1144

原创 每日学习 1191--1199

例如,输入2,则输出“Tuesday”;约瑟夫问题是一个有趣的游戏。数字1~7分别对应:Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday。输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1

2023-01-27 16:11:05 1038

原创 每日学习 1181--1190

CoCo处于青少年的叛逆时期,有时侯,表现出很强烈的逆反心理,你往东,她往西,你往南,她偏往北。这一次,不知道又是谁惹着她了,好端端的一个个01串,到了她的手里,都变成10串了。找出一个2维数组矩阵的鞍点,即该位置上的元素在该行中最大,在该列中最小,可能不存在鞍点,如果存在多个,输出最小的那个!接着输入n个字符串,每个字符串代表一个城市名,一个字符串内部不包含空格,字符串长度不超过100。即把第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,非字母的字符保持不变。

2023-01-27 14:25:05 1161

原创 hdu 1425 “sort“

输入:每组测试数据有两行,第1行有两个数 n 和 m (0< n , m

2023-01-23 00:02:48 102

原创 每日学习 1178--1180

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)输出魔方阵,所谓魔方阵就是指这样的方阵,它的每一行每一列和对角线之和都相等,例如,三阶魔方阵为。先输入一个整数n,表示这个测试实例的数值的个数,跟着输入这n个整数,每个整数都不大于100。如果存在有重复的数字则依次输出,两个数字之间用空格间隔,如果不存在重复的数字,则输出-1。输入n(n

2023-01-11 20:54:27 389

原创 每日学习 1171--1177

输入两个整数num和n,num表示要转换的数,n表示要转换成的进制。输出一行字符串,输出的结果是插入字符串"(max)”后的结果,如果存在多个最大的字母,就在每一个最大字母后面都插入"(max)"。输入n(n

2023-01-11 12:45:04 668

原创 每日学习 1165--1170

Susan到中国观光旅游,她不太熟悉人民币,因此分别将1角,2角,5角,1元,2元,5元,10元,20元,50元,100元的人民币依次排序号(从1开始排序号),她每天将自己手中不同面值人民币的张数输入iPAD,以计算手头的人民币数额。请你帮她编写一个程序,可以根据她手中的不同面值人民币的张数,计算出对应的人民币数额。时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)从键盘输入一个整数n,输出如下所示的n行的杨辉三角形。

2023-01-09 21:01:12 1027

原创 每日学习 1153--1164

从键盘输入一行文本(小于1000字符),统计其中每个英文字母出现的频率,并输出出现过的英文字母及其次数,未出现过的不需要显示。先输入一个整数n表示数组的长度,接着分别输入两个数组的内容,且每个数组内部均无重复数值,请找出两个数组中的相同元素。随意输入10个学生的成绩,按从高到低的序列显示。有5个整型数据存储在数组中,再输入一个数值key,删除数组中第1个等于key的元素,并将剩余的4个数据输出。从键盘输入数值,构成一个3行4列的二维整型数组,设计函数对每个元素执行加1操作,然后在主函数中输出该数组的内容。

2023-01-09 18:34:38 2893

原创 每日学习 1146--1152

计算学生最终得分的方法如下:首先去掉一个最高分和一个最低分,然后计算剩余6个分数的平均值,所得结果就是该学生的最后得分。时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)输出内容按照从0到9顺序输出,每个数字的信息占一行,如“0:2”表示数字字符0出现了2次。先从键盘输入10个整数。

2023-01-06 22:00:28 696

原创 每日学习 1138--1145

译码规律是:用原来字母后面的第4个字母代替原来的字母,并能循环译码。汉诺塔问题是这样的:有3根柱子A,B,C,其中A柱上有64个盘子,盘子大小不等,大的在下,小的在上。要求把这64个盘子从A柱移到C柱上,在移动过程中可以借助B柱,每次只允许移动一个盘子,且在移动过程中在三根柱子上都保持大盘在下,小盘在上。已知注释全部采用行注释的形式,即用双斜杠开头的字符串,后面的内容全部作为注释内容(包含双斜杠)。单位矩阵在主对角线上的值为1,而其他地方的值为0,并且主对角线上的行、列下标是一样的。输出n*n的单位矩阵。

2023-01-06 18:10:02 880

原创 每日学习 1131--1137

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)输入一个正整数n(1 < n < 30 ),表示只剩下一个桃子的事情是在第n天发生的。

2023-01-06 16:59:05 550

原创 每日学习 1127--1130

如果一个正整数恰好等于它所有的真因子(即除了自身以外的因子)之和,则称之为完全数(又称完美数)。如6=1+2+3,6是一个完全数。时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)素数的定义为:一个大于1的整数,如果除了1和其自身以外没有其他正因子,则称此数为素数或质数。

2023-01-05 23:49:17 983

原创 每日学习 1118--1126

1202年,意大利数学家斐波那契(Fibonacci)出版了他的《计算之书》,在书中提到了一个关于兔子繁殖的问题:如果一对兔子,过一个月之后长成大兔子,到第三个月就可以生下一对兔子并且以后每个月都生下一对兔子,而所生的一对小兔子也同样到一个月之后长成大兔子,到第三个月就可以生下一对小兔并且以后每个月都会生一对。是3的倍数的灯又反方向拨一次开关,......,直到是M的倍数的灯又反方向拨一次开关。首先从键盘输入一个整数n,然后显示出n行的输出,每行包含一个1~n的数及其平方值(数据间用一个空格隔开)。

2023-01-05 22:52:44 1010

原创 每日学习 1111--1117

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)提交数 : 12636 | 通过数 : 3714。

2023-01-04 23:09:25 752

原创 每日学习 1100--1110

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13,……,从键盘输入n,计算e的值。

2023-01-04 15:15:53 1299

原创 每日学习 1091--1099

例如,当n=5,a=2时,s=2+22+222+2222+22222。时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)编写程序,求sum=1*1*1+2*2*2+3*3*3+4*4*4+5*5*5+····+n*n*n。输入一个整数n,计算s=1+1+2+1+2+3+1+2+3+4+…输入一个整数n,计算s=1+3+5+…输入一个正整数n,计算s=1+2*2+3*3+…若n为3,则输出s=1+1+2+1+2+3=10。

2023-01-04 13:13:41 986 2

原创 每日学习 1082--1090

假设有四个圆塔,圆心座标分别为(2,2) (-2,2) (-2,-2) (2,-2)。CoCo买苹果,已知每个苹果1.20元,CoCo第一天买了两个苹果,第二天开始每天买前一天的两倍,直到购买的苹果总个数为超过maxn的最小值。时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

2023-01-04 12:15:20 1002

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除